开发者社区 问答 正文

关于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

展开
收起
a123456678 2016-07-20 17:14:40 2826 分享 版权
1 条回答
写回答
取消 提交回答
  • 现在的 Xcode 已经没有必要写第一种了,如果在@synthesize中不指定成员变量名称的话,系统会自动把变量名称制定为_var的形式,@property name是属性名,只能用对象实例来获取,在类内部,要么直接用_name,要么用self.name。

    2019-07-17 19:59:04
    赞同 展开评论
问答分类:
问答标签:
问答地址: