读Google Objective-C Style Guide 有感想

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;