【发布时间】:2017-06-19 09:49:59
【问题描述】:
我在应用委托中创建了一个通用函数,用于从应用中的任何位置访问核心数据。
- (NSMutableArray *)createFetchRequestWithPredicate:(NSPredicate *)predicate inEntity:(NSString *)str_entity {
NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:str_entity];
request.predicate = predicate;
[request setReturnsObjectsAsFaults:NO];
NSMutableArray *arr_records = [[[NSMutableArray alloc] initWithArray:[[self managedObjectContext] executeFetchRequest:request error:nil]] mutableCopy];
return arr_records;
}
现在大多数时候这个功能都可以正常工作。但是大约一百次会导致崩溃并显示以下日志:
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x00000000432b2b10
任何人都可以解决问题所在。
【问题讨论】:
-
你为什么不至少使用
error参数? -
@vadian 我尝试过使用 try catch。但这在这里不起作用,因为这是一个内存问题。所以我想使用错误参数是没有意义的。
-
在 iOS 10 n 以上吗?
-
@SandeepBhandari 它在 iOS 9 及更高版本上。
标签: ios objective-c core-data nsmanagedobjectcontext iphonecoredatarecipes