@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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
现在的 Xcode 已经没有必要写第一种了,如果在@synthesize中不指定成员变量名称的话,系统会自动把变量名称制定为_var的形式,@property name是属性名,只能用对象实例来获取,在类内部,要么直接用_name,要么用self.name。