我在应用程序代理级别实例化一个NSManagedObjectContext对象,并在所有的UIViewControllers中共享它.以下是我在其中一个视图控制器中访问它的代码:
NSManagedObjectContext *managedObjectContext = appDelegate.managedObjectContext; modelObj = (Model *) [NSEntityDescription insertNewObjectForEntityForName:@"Model" inManagedObjectContext:[appDelegate managedObjectContext]];
现在在这个屏幕上,我有一个UITableView 9行&每个单元格都有一个UITextField.当用户将值输入到文本字段中时,我将它们分配给modelObj.现在,我的用户可以选择取消并丢弃所有更改或将其保存到磁盘.我有保存代码正常工作.但是在用户尝试丢弃更改的情况下,我不知道该怎么办.似乎没有一个[managedObjectContext discardChanges]方法将它们全部丢弃.
>为每个控制器创建一个NSManagedObjectContext的新实例,而不是跨应用程序共享一个.
>或者,我可以在我的代码中创建一堆NSStrings,并在其中保存用户值,并调用insertNewObjectForEntityForName:只有当用户单击保存时.
哪个方式是正确的?还是有办法让NSManagedObjectConext丢弃所有的修改呢?
谢谢,
Teja公司.