没有合适的资源?快使用搜索试试~ 我知道了~
首页Objective-C编程规范
Objective-C编程规范
需积分: 3 7 下载量 48 浏览量
更新于2023-06-09
收藏 110KB DOC 举报
Objective-C是一个C语言的扩展语言,非常动态,非常的“面向对象”,它被设计成既拥有复杂的面向对象设计理念又可以轻松使用与阅读的语言,也是Mac OS X和iPhone开发的首选语言。 本文是介绍 Objective-C 开发应该遵循的一些代码规范,参考Google的Objective-C编程规范。
资源详情
资源推荐
iPhone 组 编程规范
(参考 Google 的 Objective-C 编程规范)
背景知识
Objective-C 是一个 C 语言的扩展语言,非常动态,非常的“面向对象”,它被设计成既拥有复杂的面向
对象设计理念又可以轻松使用与阅读的语言,也是 Mac OS X 和 iPhone 开发的首选语言。
Cocoa 是 Mac OS X 的主要应用框架,提供迅速开发各种功能的 Mac OS X 应用的 Objective-C 类集合。
注意本文不是 Objective-C 的教学指南,我们假设读者已经了解语言。如果你是一个 Objective-C 的初
学者或需要重温,请阅读 The Objective-C Programming Language.
示例
让我们用一个例子先来简单说明编码规范的风格,留间距,命名等等。
下例是一份头文件,展示对@interface声明正确的注释和留间距
1. //GTMFoo.h
2. //FooProject
3. //
4. //CreatedbyCloud Sunon6/13/09.
5. //Copyrightrenren.com.Allrightsreserved.
6. //
7.
8. #import<Foundation/Foundation.h>
9.
10. /**AsampleclassdemonstratinggoodObjective-Cstyle.Allinterfaces,
11. *categories,andprotocols(read:alltop-leveldeclarationsinaheader)
12. *MUSTbecommented.Commentsmustalsobeadjacenttotheobjectthey're
13. *documenting.
14. */
15. @interfaceGTMFoo:NSObject{
16. //_foo is a string
17. NSString*_foo;
18. NSString*_name;
19. }
20. /**
21. * instance name.
22. */
23. @property(copy,nonatomic)NSString*name;
24. /**
25. *ReturnsanautoreleasedinstanceofGMFoo.See-initWithString:fordetails
26. * abouttheargument.
27. *@param string: string for initializing Foo
28. * @return: Foo instance
29. */
30. +(id)fooWithString:(NSString*)string;
31.
32. /**
33. *Designatedinitializer.
34. * @param string: string for initializing Foo
35. * @return: Foo instance
36. */
37. -(id)initWithString:(NSString*)string;
38.
39. /**
40. *work with blah.
41. * @param blah: string for work with
42. * @return: YES or NO
43. */
44. -(BOOL)doWorkWithString:(NSString*)blah;
45.
46. @end
下例是一份源文件,展示对接口的@implementation的实现的正确注释和留间隔。
1. //
2. //GTMFoo.m
3. //FooProject
4. //
5. //CreatedbyCloud Sunon6/13/09.
6. // Copyrightrenren.com.Allrightsreserved.
7. //
8.
9. #import"GTMFoo.h"
10.
11.
12. @implementationGTMFoo
13.
14. @synthesize foo = _foo;
15. +(id)fooWithString:(NSString*)string{
16. return[[[selfalloc]initWithString:string]autorelease];
17. }
18.
19. -(id)init{
20. return[selfinitWithString:nil];
21. }
22.
23. -(id)initWithString:(NSString*)string{
24. if((self=[superinit])){
25. _foo=[stringcopy];
26. _bar=[[NSStringalloc]initWithFormat:@"hi%d",3];
27. }
28. returnself;
29. }
30.
31. -(void)dealloc{
32. [_foorelease];
33. [_barrelease];
34. [superdealloc];
35. }
36.
37.
38. -(BOOL)doWorkWithString:(NSString*)blah{
39. //...
40. returnNO;
41. }
42.
43. @end
命名
命 名 规 则 对 于 维 护 代 码 来 说 是 非 常 重 要 的 。 写 纯 Objective-C 代码时,我们基本上遵守标准
Objective-C naming rules。本文档推荐驼峰法,也是 Objective-C 社区的标准。
剩余11页未读,继续阅读
yijiankaka
- 粉丝: 0
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功