我想要真正理解一些内存管理问题。并发现this question,这部分回答了我的问题。Objective-C:@property和@synthesize和内存泄漏
例如,在为MyObject我有一个实例变量声明为一个属性,并在实现文件正确合成:
@interface MyObject : NSObject
...
ObjectA objA;
...
@property (nonatomic, retain) ObjectA *objA;
@end
某任意点,我实例objA。我知道self.objA = _objA;
调用合成访问器。从逻辑上讲,这意味着self.objA = [[ObjectA alloc] init];
会导致内存泄漏,因为保留计数比预期的多一个(我知道直接检查保留计数并不是检查对象在内存中运行多久的准确方法)。
objA = [[ObjectA alloc] init;
是否也调用setter,并可能导致内存泄漏?
可能重复http://stackoverflow.com/questions/7219951/preventing泄漏时使用属性和合成) – Caleb 2011-12-16 20:35:08