我目前正在开发一个跟踪猫及其相关芝士汉堡的应用程序。我正在使用 Core Data 支持应用程序。猫和它的芝士汉堡之间存在一对多的关系(一只猫可以有零个或多个芝士汉堡)。
我有一个 UITableViewController 按名称(姓氏,名字)显示所有猫。当您单击表格中的一行时,一个新的 UITableViewController 会被推送到导航控制器上,该控制器会显示有关猫的所有信息。对于它的价值,表格视图与第一秒分组,其中包含有关猫的信息(名字/姓氏,颜色等)。然后在第二部分中,描述了猫吃的所有奶酪汉堡。
右侧导航项是编辑按钮。当用户处于编辑模式时,我隐藏了导航栏的后退按钮,将其替换为取消按钮。
我的问题是:是否有关于如何处理在编辑屏幕中管理数据的标准/常见做法/等?我看到它发生在以下两种方式之一:
- 跟踪用户更改的所有内容,然后当他们点击
done
按钮时,将这些更改复制到Cat
NSManagedObject
. - 使用与
NSUndoManager
关联的,NSManagedObjectContext
并且当用户开始编辑时,创建一个新的撤消分组。当他们点击取消按钮时,只需结束分组,然后在NSUndoManager
.
我觉得选项 2 似乎最实用,但我对它的感觉很复杂。对于 iPhone,NSManagedObjectContext
默认情况下没有NSUndoManager
与之关联的 - 我读过它适用于 OSX 应用程序。NSManagedObjectContext
在网上阅读时,我也没有看到太多关于使用与iPhone 编程相关的讨论。这让我觉得人们可能正在使用另一种我没有想到的方法。