自动 synthesize 实例变量

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

原文: https://zh-google-styleguide.readthedocs.io/en/latest/google-objc-styleguide/features/