关于objective-c类中为何要这样写?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

关于objective-c类中为何要这样写?

a123456678 2016-07-20 17:14:40 1130
@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
iOS开发
分享到
取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:59:04

    现在的 Xcode 已经没有必要写第一种了,如果在@synthesize中不指定成员变量名称的话,系统会自动把变量名称制定为_var的形式,@property name是属性名,只能用对象实例来获取,在类内部,要么直接用_name,要么用self.name。

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题