博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Google Object -C style Guide 很不错,读了之后有些地方觉得还不错,特记录下来,加深印象

1.  方法类型 + 和 - 之后需要添加一个空格。  

2.   属性以内部变量以_开始

3.  方法调用[ ]  类名和参数名在左右括号里不需要添加空格。但是一个方法调用完之后在连续调用,就需要添加空格,如:[[[self alloc] initWithString:string] autorelease];

4. 函数方法名以小写开头,category的文件名用+比如"NSString+MyCategory.h "

   category的名字应在类的后面添加一个空格,

  如@interface NSString (MyCategory)

     @end 

     

5.  Dealloc方法放在最上面,方便释放变量。

6.  操作符和=号两边要添加空格。

7.  Protocols相关,在id和协议的名字之间不能添加空格

@interface MyProtocoledClass : NSObject<NSWindowDelegate> {

 @private

  id<MyFancyDelegate> delegate_;

}

- (void)setDelegate:(id<MyFancyDelegate>)aDelegate;

@end

8.  不需要在初始化的时候设置一个对象为0 或者设置为nil ,对象初始化的时候会自动设置为nil。

9.  对象的nil判断。

    对一个nil对象发送消息是允许的,如果要判断nil,主要是用于逻辑相关,而不是为了防止程序崩溃。

10.  BOOL值的认识。

   BOOL 是signed char ,它能有许多值,而不仅仅包含YES(1)  或者 NO(0), 平常确实要多注意。


11.  与属性相关联的变量必须以 _ 结尾 。

@interface MyClass : NSObject {

 @private

  NSString *name_;

}

@property(copy, nonatomic) NSString *name;

@end


@implementation MyClass

@synthesize name = name_;

- (id)init {

...

}

@end


12. NSString 的属性,一定要用copy:@property(copy, nonatomic) NSString *name;

 

posted on 2011-02-10 16:42  Likwo  阅读(917)  评论(0编辑  收藏  举报