xcode – NSDocument和CoreData是可能的组合,还是NSPersistentDocument的唯一方法?

xcode – NSDocument和CoreData是可能的组合,还是NSPersistentDocument的唯一方法?,第1张

概述我正在制作一个应用程序,为我学校的人们创建课程时间表.这是我为应用程序考虑的粗略设计: 我希望我的NSDocument子类代表个人的时间表.这个想法是他们打开一个文档,并可以将池中的课程添加到他们的时间表,然后保存,共享,打开等.所以时间表将存储在用户选择的外部文件中. 我想使用CoreData存储学生可以选择的所有课程.这些不会随着时间表的创建和编辑而改变,而是可能仅在启动应用程序时检查课程信息 我正在制作一个应用程序,为我学校的人们创建课程时间表.这是我为应用程序考虑的粗略设计:

我希望我的NSdocument子类代表个人的时间表.这个想法是他们打开一个文档,并可以将池中的课程添加到他们的时间表,然后保存,共享,打开等.所以时间表将存储在用户选择的外部文件中.

我想使用CoreData存储学生可以选择的所有课程.这些不会随着时间表的创建和编辑而改变,而是可能仅在启动应用程序时检查课程信息的更新.

这似乎是构建我的应用程序的合理方式.问题是,当我创建一个基于NSdocument的应用程序并检查使用CoreData框时,而不是使其成为一个基于NSdocument的应用程序与CoreData工具,它使它成为一个基于NSPersistentdocument的应用程序.

我不认为这是我想要的行为.有没有办法使用CoreData,但仍然有一个基于NSdocument的应用程序?或者NSPersistentdocument毕竟我应该使用什么?我是否误解了整个NS * document业务?您对我的应用程序结构有什么建议吗?

谢谢你的帮助!

解决方法 是的,您可以在不使用NSPersistentdocument的情况下使用Core Data.只是直接实例化NSPersistentStoreCoordinator和NSManagedobjectContext.这是一些代码: how do you create a NSManagedObjectContext

如果要在多个NSdocument实例之间共享目录实例,并且不希望将目录与每个文档一起保留,这是一个很好的方法.您的应用程序或应用程序代表可以负责加载课程目录,您的文档可以负责加载和保存单个学生的时间表.你必须自己实现,使用键控归档器,或者自己编写一个pList.

相反,如果您愿意,可以进一步利用核心数据.使用NSManagedobjects表示学生日程安排,让NSPersistentdocument处理加载和保存上下文.您可以免费获得许多有用的功能,例如undo-redo.

总结

以上是内存溢出为你收集整理的xcode – NSDocument和CoreData是可能的组合,还是NSPersistentDocument的唯一方法?全部内容,希望文章能够帮你解决xcode – NSDocument和CoreData是可能的组合,还是NSPersistentDocument的唯一方法?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1016325.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存