我正在使用儀器泄漏工具來檢查代碼中的泄漏。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) –