我已经开发了3个月的iOS,目前我正在Xcode 8.2中构建一个包含多个视图控制器(~12)的主细节应用程序,它使用了tableviewcontrollers和视图控制器。
我利用这些基础知识在单个视图控制器中保存和获取核心数据,并将数据向前推到另一个视图控制器。但那就是我被困的地方。许多关于苹果文档的教程和复习很多次,我仍然停留在如何在多个视图控制器(因此多个快速文件)与CoreData工作。
如果有人知道一个好的教程,涵盖这一主题,这将是非常感谢。
或者,如果您可以推荐以这种方式使用CoreData的最佳方法,这也是值得赞赏的。
应用程序的基本结构是:
项目列表(在主视图控制器中) 添加项目(模态形式) 项目部分(在主视图控制器中) 项目部分详细信息(在多细节视图控制器中)
我遇到的问题是:
当您深入到级别时,到CoreData的连接已经退出(尽管我努力向前传递数据),并且我无法用现有数据填充单元格/textfields/等等 此时要保存的是生成一个新的CoreData对象,而不是更新现有的对象。
向前和向后传递数据是使用CoreData的方式吗?还是有一种方法可以创建单个托管对象上下文(即超类中的托管对象上下文)?用它来做交易?
提前谢谢。
发布于 2017-02-15 16:41:34
很抱歉没有及时回复。我需要的信息相当广泛,因此必须经过大量的代码,这些代码很快就会失去一致性。所以我最终解决了自己的问题。
( A)关于网络核心数据的最好教程是TutsPlus的这一篇。涵盖所有基础和高级功能,在概念和实践上。我不能推荐它足够高。
( B)跨多个视图控制器使用Core数据的解决方案是将需要反复访问的变量移动到全局变量中,这是我发现的最容易实现的。例如,在我的例子中:
/?
导入UIKit
导入CoreData
var fetchedResultsController: NSFetchedResultsController
managedObjectContext: NSManagedObjectContext?
类MasterViewController: UITableViewController,NSFetchedResultsControllerDelegate {
//代码
}
/?
希望这能帮到别人!
PS代码片段在触摸屏上被关闭,所以我为格式表示歉意。
https://stackoverflow.com/questions/41844850
复制相似问题