Mic*_*ael 3 memory memory-management objective-c ios
这个简单的问题困扰着我.吸气剂是否相同
@property (nonatomic, retain) NSString *name
@property (nonatomic, copy) NSString *name
- (NSString*) name{
return name;
}
Run Code Online (Sandbox Code Playgroud)
根据文件
但是,属性声明提供了有关如何实现访问器方法的其他信息(如"属性声明属性"中所述).
getter和setter行为都是由属性声明定义的.在您的示例中,由于它已被定义,nonatomic但是如果nonatomic从声明中遗漏了它,那么它将被实现类似于此
- (NSString*) name{
[_internal lock]; // lock using an object-level lock
id result = [[name retain] autorelease];
[_internal unlock];
return result;
}
Run Code Online (Sandbox Code Playgroud)
这当然只有在您使用@synthesize和不覆盖或更改getter和setter方法时才会出现.