自动 synthesize 实例变量
Tip
只运行在 iOS 下的代码,优先考虑使用自动 synthesize
实例变量。
synthesize
实例变量时,使用 @synthesize var = var_;
防止原本想调用 self.var = blah;
却不慎写成了 var = blah;
。
不要synthesize CFType的属性 CFType应该永远使用@dynamic实现指示符。 尽管CFType不能使用retain属性特性,开发者必须自己处理retain和release。很少有情况你需要仅仅对它进行赋值,因此最好显示地实现getter和setter,并作出注释说明。 列出所有的实现指示符 尽管@dynamic是默认的,显示列出它以及其它的实现指示符会提高可读性,代码阅读者可以一眼就知道类的每个属性是如何实现的。
- // Header file
- @interface Foo : NSObject
- // A guy walks into a bar.
- @property(nonatomic, copy) NSString *bar;
- @end
- // Implementation file
- @interface Foo ()
- @property(nonatomic, retain) NSArray *baz;
- @end
- @implementation Foo
- @synthesize bar = bar_;
- @synthesize baz = baz_;
- @end
原文: https://zh-google-styleguide.readthedocs.io/en/latest/google-objc-styleguide/features/