【问题标题】:Core Data error: _Unwind_Resume called from function _PFFaultHandlerLookupRow in image CoreData核心数据错误:从图像 CoreData 中的函数 _PFFaultHandlerLookupRow 调用 _Unwind_Resume
【发布时间】:2011-06-05 01:23:31
【问题描述】:


我从 Core Date 收到这个奇怪的错误,我不明白为什么。
下面的代码在我删除一行 UITableView 时执行。
我将一个字符串和一个对象传递给下面的方法,它会在具有该字符串并具有该对象的外键的数据库表中获取文章。然后我删除该对象并重新加载表。

- (void)deleteFavorite:(NSString *)link inFolder:(Favorites *)f { NSFetchRequest *request = [[NSFetchRequest alloc] init]; NSEntityDescription *favsDecriptor = [NSEntityDescription entityForName:@"Favorites" inManagedObjectContext:context]; [请求 setEntity:favsDecriptor]; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(belongsTo == %@) AND (link = %@)", f, link]; [请求集合谓词:谓词]; NSError *error = nil; NSMutableArray *fav = [[NSMutableArray alloc] init]; fav = [[context executeFetchRequest:request error:&error] retain]; if (![context save:&error]) { NSLog(@"无法从获取请求中获取故事。"); } NSLog([[fav objectAtIndex:0] title]); 错误=无; [上下文删除对象:[fav objectAtIndex:0]]; if (![context save:&error]) { NSLog(@"无法删除收藏夹!%@", error); } }

应用程序立即崩溃,我在控制台中收到此消息。 但是当我之后启动应用程序时,该行已被删除。

检测到尝试调用 iPhone 上不存在的系统库中的符号: _Unwind_Resume 从图像 CoreData 中的函数 _PFFaultHandlerLookupRow 调用。

请帮忙!
在此先感谢大家!

【问题讨论】:

    标签: iphone ios core-data


    【解决方案1】:

    这可能与 Core Data 本身的一个错误有关。我遇到了同样的错误(我在 SO 中询问过它),我唯一的解决方法是更改​​谓词中仍然允许相同结果的关键字。需要一些试验才能找到正确的组合。不理想,但根据我的经验,这是我能提供的最佳答案。

    【讨论】:

      【解决方案2】:

      您是否有可能持有对删除对象的引用,或者被删除的对象是观察者并且在其被删除后得到回调?我最近有类似的东西,虽然错误信息略有不同。就我而言,我在删除时也崩溃了(在某些情况下),但是当我重新启动时,实际上要删除的对象已被删除。

      如果您还没有这样做,请在“运行”菜单下选择“在 Objective-C 异常时停止”。这帮助我找到了崩溃的根本原因。在我的例子中,它是 KVO 观察者获取已删除 NSManagedObject 属性值更改的回调。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-30
        相关资源
        最近更新 更多