Ios ***+中的断言失败;[NSManagedObjectContext MR_defaultContext]尝试截断时
MagicalRecord 2.0.7版出现异常 每当我启动应用程序时,它都会崩溃,出现以下异常:Ios ***+中的断言失败;[NSManagedObjectContext MR_defaultContext]尝试截断时,ios,magicalrecord,Ios,Magicalrecord,MagicalRecord 2.0.7版出现异常 每当我启动应用程序时,它都会崩溃,出现以下异常: *** Assertion failure in +[NSManagedObjectContext MR_defaultContext] 我正在这样配置coredata: 在appdelegate didFinishLaunchingWithOptions方法中: [MagicalRecord setupCoreDataStack]; 在appdelegate应用程序中,将终止: [Magic
*** Assertion failure in +[NSManagedObjectContext MR_defaultContext]
我正在这样配置coredata:
在appdelegate didFinishLaunchingWithOptions方法中:
[MagicalRecord setupCoreDataStack];
在appdelegate应用程序中,将终止:
[MagicalRecord cleanUp];
我注意到只有在尝试截断实体中的所有记录时才会发生崩溃:
NSManagedObjectContext *localContext = [NSManagedObjectContext MR_contextForCurrentThread];
[Song MR_truncateAllInContext:localContext];
我错过什么了吗?上述方法是否错误
编辑
崩溃发生在这条线路上:
+ (NSManagedObjectContext *) MR_defaultContext
{
@synchronized (self)
{
NSAssert(defaultManagedObjectContext_ != nil, @"Default Context is nil! Did you forget to initialize the Core Data Stack?");//this line
return defaultManagedObjectContext_;
}
}
在NSMnagedObjectContext+MagicalRecord.m文件中,如果您指定了一个上下文(localContext),并且在defaultContext访问器中崩溃,则会出现其他问题。设置堆栈后,默认上下文不应为nil。初始化后,您是否自行验证了这一点?试用
+[MagicalRecord currentStack]
看看是否一切都安排妥当了
在truncateAllInContext:方法中,需要检查的一件事是忽略本地上下文并只请求默认值?如果是这种情况,那么这是MagicalRecord中的一个bug,可能会在更新版本(最新版本为2.1)中修复。是的,如果可以,请升级MagicalRecord。我遇到了2.1版本中出现的各种问题。其中至少有一个是MagicalRecord设法解决的核心数据错误。设置核心数据
[MagicalRecord SetupCoreDataStackWithStoreName:@“Model”]代码>位于应用程序委托方法之上。您是否连接了调试器?它停在哪一行?崩溃发生在NSManagedObjectContext+MagicalRecord.m
文件上,请查看我的更新该行似乎很清楚,错误在于未设置默认上下文。查看控制台,确保正在设置默认上下文。尝试改用setUpCoreDataStackWithStoreNamed:
。我已经尝试过了,但没有解决我的问题。我打开了一个关于MR repo的问题:你在这里发现问题了吗?嗨,奥托,你能给我发一个固定版本的链接吗?我拉主repo,我相信它包含最新版本2.1,对吧?不知道。我一直在使用Cocoapods,这使得更改版本变得微不足道。我希望师父有2.1或更好,但不确定。。。它可能是不稳定的东西,据我所知,它是特定于项目的。