所以我在核心数据上苦苦挣扎。我发现有很多方法可以做同样的事情,如果您尝试使用 Storyboards 和 UIManagedDocuments 构建应用程序,您需要阅读比去年更早的所有教程和示例以及翻译表。今天的问题是关于在添加新托管对象时找到最佳实践。我已经看到了两种方式的例子:
在表视图控制器中创建新的托管对象(单击 + 后)并将新的闪亮托管对象提供给从属的“添加”视图控制器,以获取所有对象属性的用户输入。这看起来很简单,而且返回的对象也很容易理解,因为它包含所有单独的属性。但是我在这个“添加”视图控制器中看到了一个“取消”按钮的示例代码,该按钮删除传入的托管对象,然后在关闭自身之前调用 Save Context。功能性,但是我肩上的 MVC 培训 gnome 对我大喊大叫,让这个从属的 Add View 删除一个对象,并且恐怖直接调用 Save Context。Apple 的 Recipe 示例代码似乎使用了这种方法。
不向添加视图控制器发送任何内容,并让它返回一个委托调用表视图控制器,该表视图控制器将每个属性作为单独的传递参数返回。所以返回方法变得很长:controller:(UIViewController *)controller didReturnFirstName:(NSString *)firstName andLastName:(NSString *)lastName andStreetAddress:(NSString *) and... and... and.. But this is SO与 MVC 教条一致,因为托管对象在接收到所有单独的属性时在表视图控制器中重新创建,并且“添加”视图永远不会触及模型(核心数据),或者在用户更改时丢弃未使用的托管对象他们的心思。
即使使用链式委托方法,我仍在与自己争论哪种方法更好。来自使用这两种形式的人的评论和想法将是一个受欢迎的补充。
谢谢。