我有一些应用程序,例如一些股票信息,并将其存储在CoreData中。我有两个实体库存(名称)和DailyStockData(日期,编号),我存储了每个股票实体的两年信息。然后用户可以删除TableView中的一些股票名称。如何从CoreData快速删除?
在我的- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
我删除此库存和DailyStockData级联,然后保存上下文。
我保存的代码如下所示
// Save the context.
NSError *error = nil;
if (![context save:&error])
{
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
的问题是:当用户删除股快速 - 我的应用程序崩溃。我知道原因是“中止”命令,当我的设备没有完成保存先前的删除事务并呼叫再次保存。
所以我在这里有两个问题^) 1.有什么办法来防止这种崩溃? 2.处理上下文保存错误的最佳做法是什么?可能是我可以尝试保存它一次又一次,而不是仅仅中止。
最简单的解决方案是重新设计应用程序以在“非常”的末端保存上下文 - 例如,当我的应用程序更改视图或其他东西,但我想知道所有可能性。
这可能有助于发布实际的错误文本。 –
书籍中的示例中止,因为他们只是想提醒开发人员注意失败。你永远不会放弃发布应用程序。相反,您应该捕获错误,记录它,分析错误并采取适当的措施。 – TechZen