【发布时间】:2011-04-26 21:16:17
【问题描述】:
我在以下代码行中遇到内存泄漏:
代码行:
NSArray *fetchedObjects = [qContext executeFetchRequest:fetchRequest error:&error];
我一直在尝试对此进行阅读,并试图找到导致此问题的原因已经有一段时间了,但没有成功。
有人可以告诉我在哪里看吗? ...我是否正确理解“100%”,它表明此代码行 100% 导致泄漏?
更新
更多代码:
//=========PREPARE CORE DATA DB===========//
if (managedObjectContext == nil) { managedObjectContext = [(FamQuiz_R0_1AppDelegate *)
[[UIApplication sharedApplication] delegate] managedObjectContext]; }
// Define qContext
NSManagedObjectContext *qContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"questions" inManagedObjectContext:qContext];
[fetchRequest setEntity:entity];
NSArray *fetchedObjects = [qContext executeFetchRequest:fetchRequest error:&error];
for (NSManagedObject *info in fetchedObjects) {
if ([[info valueForKey:@"qDiff"] intValue] == 1) {
[allEasyArrayQ addObject:[info valueForKey:@"idQ"]];
} else if ([[info valueForKey:@"qDiff"] intValue] == 2) {
[allMediumArrayQ addObject:[info valueForKey:@"idQ"]];
} else if ([[info valueForKey:@"qDiff"] intValue] == 3) {
[allHardArrayQ addObject:[info valueForKey:@"idQ"]];
}
}
【问题讨论】:
-
您能展示一下您是如何创建 fetchrequest 和谓词的吗?
-
如果可以的话,还请提供有关泄漏的详细信息。
-
fetchRequest对象是否被释放(是自动释放-还是-在执行fetchRequest后手动释放?
-
fetchRequest 被释放
标签: iphone objective-c memory-leaks