魔法记录删除具有上下文和没有上下文的所有记录有什么区别

时间:2014-08-22 12:11:41

标签: objective-c core-data magicalrecord

这可能是一个非常基本的问题。我看到两种方法从Core Data中删除记录。我正在使用魔法记录库。

选项1:

[myEntityName truncateAll]

选项2:

NSManagedObjectContext *localContext = [NSManagedObjectContext contextForCurrentThread];
[myEntityName truncateAllInContext:localContext];

这两者有什么区别?从第二个选项我可以感觉到删除发生在当前线程中。如果是这样,如果我使用' truncateAll'?

,会产生什么影响

请咨询。

1 个答案:

答案 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:而无需将当前线程的上下文指定为参数。