这已经困扰了我很长一段时间。
假设你有一个属性
@property(nonatomic, retain)NSString *test;
在您的实施中,您使用:
self.test = [[NSString alloc]init];
(仅举例)。
结果是,新分配的NSString对象的Retain-Count为2。 在dealloc方法中释放Object只会将计数减少到1,从而导致内存泄漏。
“构建和分析”是否有办法识别这些泄漏? OO
答案 0 :(得分:3)
File a bug。这个,IMO,绝对是分析仪应该抓住的东西。
答案 1 :(得分:-1)
在您的实施中,您使用...
确实存在问题:
self.test = [[NSString alloc]init];
永远不要那样做,因为这是完全错误的。假设属性是复制而不是保留:你不再有指向该对象的指针,仍然拥有它 - 内存泄漏就在那里而无法恢复(谁会发送发布消息?)。