首页 文章

具有多个视图控制器的Swift 3中的核心数据实现

提问于
浏览
3

我已经开发了3个月的iOS,我目前正在Xcode 8.2中使用多个视图控制器(~12)构建一个主 - 详细应用程序,同时使用tableviewcontrollers和viewcontrollers .

我已经利用基础知识在单个视图控制器中保存和获取Core Data,并将数据推送到另一个视图控制器 . 但那就是我陷入困境的地方 . 许多关于和审阅Apple文档的教程很多次我仍然坚持如何跨多个视图控制器(以及多个swift文件)使用CoreData .

如果有人知道一个涵盖这个主题的好教程,我将不胜感激 .

或者,如果您可以推荐以这种方式使用CoreData的最佳方式,也将受到赞赏 .

该应用程序的基本结构是:

项目列表(在主视图控制器中)添加项目(模态窗体)项目部分(在主视图控制器中)项目部分详细信息(在多个详细视图控制器中)

我遇到的问题是:

当您深入到Project Sections Details级别时,与CoreData的连接已经退出(尽管我努力向前传递数据)并且我无法填充单元格/文本字段/等 . 使用现有数据此时保存的Atempts会生成新的CoreData对象,而不是更新现有的CoreData对象 .

是向前传递数据和使用CoreData的方式吗?或者有没有办法创建一个托管对象上下文(即在超类?)并与之交易?

提前致谢 .

1 回答

  • 0

    很抱歉延迟回复 . 我需要的信息非常广泛,所以不得不过去大量的代码,这些代码会很快失去连贯性 . 所以我最终解决了自己的问题 .

    A)关于网络上核心数据的最佳教程是TutsPlus . 从概念上和实践上涵盖了所有基础知识和高级功能 . 我不能高度推荐它 .

    B)我发现很容易实现的跨多个视图控制器使用Core Data的解决方案是将需要重复访问的变量移动到全局变量中 . 例如在我的情况下:

    / ----------------------------------- /

    导入UIKit

    导入CoreData

    var fetchedResultsController:NSFetchedResultsController

    var managedObjectContext:NSManagedObjectContext?

    class MasterViewController:UITableViewController,NSFetchedResultsControllerDelegate {

    //代码

    }

    / ----------------------------------- /

    希望能帮到别人!

    PS代码片段在触摸屏上关闭,所以我为格式化道歉 .

相关问题