关于OC编码的规范的一些收集
- 函数声明与调用
声明时在返回值的括号前加空格
- (void)initWithCardStyle:(CardStyle)cardStyle;
编写时在最后一个字母和大括号前加一个空格
- (void)initWithCardStyle:(CardStyle)cardStyle {
````
}
声明类的方法时候,参数过多需要换行,如:
- (instancetype)initWithCardCount:(NSUInteger)count
usingDeck:(Deck *)deck;
调用时也同样换行,并且冒号对齐,如:
[[Card alloc] initWithCard:card
usingdeck:deck];
- 不要在init和dealloc里调用存取方法
当init dealloc方法被执行时,类的运行时环境不是处于正常状态的,使用存取方法访问变量可能会导致不可预料的结果,因此应当在这两个方法内直接访问实例变量(2017.4.8改,今天在斯坦福的教程里看到那个白胡子在重写init的时候用到了self.xx语法。有点迷糊了,不知道有没有人能指点一下这里到底怎么回事)
- (instancetype)init {
if (self = [super init]) {
_title = [[NSString alloc] init];
/*这里不要用如下写法
self.title = [[NSString alloc] init];
*/
}
return self;
}