我有一个看起来像这样的方法:
+ (Cat *)fetchCatWithId:(NSString *)catId {
NSManagedObjectContext* context = [NSManagedObjectContext MR_contextForCurrentThread];
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"id ==[c] %@", catId];
Cat* cat = [Cat MR_findFirstWithPredicate:predicate inContext:context];
return cat;
}
Xcode Time Profiler表现出了很大的成功
Cat* cat = [Cat MR_findFirstWithPredicate:predicate inContext:context];
确实,发生这种情况时,我的应用程序中的UI会短暂冻结。因此,显然我需要在后台线程上执行此操作。所以我有三个问题:
最佳答案
试试这个:
+ (Cat *)fetchCatWithId:(NSString *)catId {
Cat *cat = [Cat MR_findFirstByAttribute: @"id" withValue: catID];
return cat;
}
关于ios - 核心数据(魔术记录)在提取时暂停主线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22776051/