【发布时间】:2011-12-15 02:33:18
【问题描述】:
我运行了分析器,但我不确定一些内存管理是如何工作的。我有一个属性(它没有自定义 setter 或 getter):
@property (nonatomic, retain) NSMutableArray *myArray;
那我以后试试用:
if ([[MyClass sharedDelegate].myArray containsObject:"test"])
它说“属性返回一个具有 +1 保留计数的 Objective-C 对象”
其中sharedDelegate定义为:
+(MyApp*)sharedDelegate
{
return (MyApp*)[[UIApplication sharedApplication] delegate];
}
我不明白这一点,因为我看不到保留在哪里?我认为以这种方式使用属性是使用 getter 方法,它只返回 myArray 的值。那么内存泄漏在哪里呢?
然后它指向
UIGraphicsBeginImagecontextWithOptions(container.bounds.size, YES, 1.0);
对象泄露:分配的对象在此执行路径的后面没有被引用,并且保留计数为 +1
我也不明白这一点,或者这与第一次内存泄漏有何关系。它们似乎无关。
【问题讨论】:
标签: objective-c ios cocoa-touch memory-management