关于objective-c类中为何要这样写?
@interface Person : NSObject
{
NSString *_name;
}
@property (copy) NSString *name;
@end
@implementation Person
@synthesize name=_name;
@end
我不明白和下面这样写有何区别?
@interface Person : NSObject
{
NSString *name;
}
@property (copy) NSString *name;
@end
@implementation Person
@synthesize name;
@end
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
现在的 Xcode 已经没有必要写第一种了,如果在
@synthesize
中不指定成员变量名称的话,系统会自动把变量名称制定为_var
的形式,@property name
是属性名,只能用对象实例来获取,在类内部,要么直接用_name
,要么用self.name
。