这可能是一个非常基本的问题。我看到两种方法从Core Data中删除记录。我正在使用魔法记录库。
选项1:
[myEntityName truncateAll]
选项2:
NSManagedObjectContext *localContext = [NSManagedObjectContext contextForCurrentThread];
[myEntityName truncateAllInContext:localContext];
这两者有什么区别?从第二个选项我可以感觉到删除发生在当前线程中。如果是这样,如果我使用' truncateAll'?
,会产生什么影响请咨询。
答案 0 :(得分:0)
如果您要归档CoreData+MagicalRecord.m
,您会看到truncateAll:
来电truncateAllInContext:
+ (BOOL) MR_truncateAll
{
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
[self MR_truncateAllInContext:[NSManagedObjectContext MR_contextForCurrentThread]];
#pragma clang diagnostic pop
return YES;
}
这意味着truncateAll:
允许您调用truncateAllInContext:
而无需将当前线程的上下文指定为参数。