【发布时间】:2011-11-30 22:32:41
【问题描述】:
可能重复:
Synthesized property and variable with underscore prefix: what does this mean?
我一直觉得 Objective-C 属性的使用很尴尬。这是“我知道如何使用它们,但我并不总是确定为什么要使用它们”之一。类似的事情,最近我看到了很多这样的事情:
// in .h file
@interface MyObject : NSObject
{
id _coolIvar;
}
@property (assign) id coolIvar;
@end
// in .m file
@implementation
@synthesize coolIvar = _coolIvar;// <- whats the point of that.
@end
那么使用下划线声明 ivar 然后使用 @synthesize 访问它有什么意义,而不是仅声明与 ivar 同名的 @property?
附带问题: 我注意到这种约定变得越来越流行,因为块开始成为异步回调的首选方法,而不是目标/选择器方法。这是巧合还是上面的@property 声明约定更适合块作用域?
【问题讨论】:
标签: objective-c coding-style properties naming-conventions