2013-05-06 95 views
0

由于无法满足核心数据错误(引发NSObjectInaccessibleException),测试人员遇到(iOS)应用程序在启动时崩溃的情况。由于应用程序的第一件事是用托管对象填充表视图,应用程序在启动时会继续崩溃。由于核心数据故障导致启动时应用程序崩溃

问题很简单。 我该如何解决这个问题,使测试人员至少可以继续使用应用程序而不会丢失数据?

要为这个问题提供更多的上下文,当表视图单元格配置如下所示时,应用程序崩溃。该方法从tableView:cellForRowAtIndexPath:调用。

- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath { 
    // Fetch Store 
    CCDStore *store = [self.fetchedResultsController objectAtIndexPath:indexPath]; 

    // Configure Cell 
    [cell.textLabel setText:[store name]]; // Exception is thrown due to Core Data fault 
    [cell.detailTextLabel setText:[store numberOfLists]]; 
} 

因为我没有访问该设备或(SQLite的)数据库,我的猜测是数据库的一部分包含导致故障损坏的数据。

回答

0

当我在我的应用程序中发现错误时,通常会发生这种情况是由于释放了NSManagedObjectContext。当从上下文中“取得”NSManagedObject,然后释放上下文时,该对象会释放一个错误以释放内存。所以也许检查一下上下文是否可以告诉你这是否是问题。如果是,请确保您保留它的正确方式(如果您使用ARC,请在您的类的接口文件中声明上下文。)

+0

我已经执行了这些检查,但在这种情况下似乎不是问题。 – 2013-05-07 06:58:49

0

我知道这并不理想,但在有问题的线条周围添加了@try/@catch处理捕获中的错误会阻止你的应用程序崩溃

相关问题