0
我有多線程核心數據設置 - 它工作得很好。在這個設置中,我有一系列的功能來抓取所需的數據等等。除了這個導致一個小漏洞的東西之外,它們都工作得很好 - 但它增加得相當快,並且使應用程序崩潰。iOS核心數據 - 意外內存泄漏
- (id)getRecordOfType:(NSString *)type WithCode:(NSString *)codeString{
id returnObj = nil;
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:type inManagedObjectContext:self.managedObjectContext]];
NSPredicate *categoryPred = [NSPredicate predicateWithFormat:[@"code='" stringByAppendingFormat:@"%@'", codeString]];
[request setPredicate:categoryPred];
categoryPred = nil;
if (![request entity]) {
[request release]; request = nil;
return nil;
}
NSError *error;
NSMutableArray *results = [[self.managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
for (id tmpObj in results) {
if([(NSString *)[tmpObj code] isEqualToString:codeString])
returnObj = tmpObj;
break;
}
[results release];
[request release];
return returnObj;
}
如果任何人都可以在這裏擺脫一些光它將不勝感激。
由於提前,
邁克爾
感謝您的反饋 - 我發現了泄漏 - 我錯誤地讀了儀器並看到錯誤的功能:P – 2011-05-26 15:09:07
嘿。邁克爾,出於好奇:你對「釋放」事物有什麼看法?你回來後立即'保留'returnObj'還是我錯了? – sergio 2011-05-26 15:10:51
我不保留returnObj - 它被使用的函數使用: – 2011-05-26 16:53:08