我正在使用仪器泄漏工具来检查代码中的泄漏。NSMutableArray泄漏由仪器寻址的警告
//MyClass.h
@property (nonatomic, retain) NSMutableArray *marrProperty;
//MyClass.m
NSSortDescriptor *createdTime = [[NSSortDescriptor alloc] initWithKey:@"createdTime" ascending:NO selector:@selector(compare:)];
NSArray *sortedArray = [self.anManagedObj.aRelationships sortedArrayUsingDescriptors:[NSArray arrayWithObject:createdTime]];
[createdTime release];
NSMutableArray *marr = [[NSMutableArray alloc] initWithArray:sortedArray];
self.marrProperty = marr;
[marr release];
与仪器泄漏工具检查后,有人告诉我,泄漏发生在下面的代码:
NSMutableArray *marr = [[NSMutableArray alloc] initWithArray:sortedArray];
self.marrProperty = marr;
我不知道为什么,因为我只是alloc和释放良好。
嗯,我不知道为什么在所有Heapshot中没有NSMutableArray。 –
可能是因为你只泄漏一个。因此,请点击这一点并查看保留/发布历史记录,以查看额外保留来自何处。 – bbum
跟踪显示:(事件类型,RefCt),(Malloc,1),(Retain,2),(release 1) –