ios - 在基于文档的应用程序中的文档之间共享模型
问题描述
我的应用程序是基于文档的,用于NSPersistentDocument
管理其核心数据堆栈。
当每个文档都有自己的数据时效果很好,但现在我希望文档共享其模型的一部分。就我而言,用户导入大文件,我不想为每个文档复制它们。
我想要一个与应用程序本身而不是特定文档紧密相关的模型。
我真的不知道该怎么做。NSPersistentDocument
提供了一些方法来覆盖配置核心数据堆栈,但我不知道如何设置它。谁能给我一些提示如何实现这一目标?
解决方案
非常有趣的案例,
NSPersistentDocument :可以与 Core Data 集成的文档对象 https://developer.apple.com/documentation/appkit/nspersistentdocument#relationships
我会为 MVC 意识形态添加我的 2 便士:
模型-视图-控制器 (MVC) 是一种架构模式,它将应用程序分为三个主要逻辑组件:模型、视图和控制器。这些组件中的每一个都是为处理应用程序的特定开发方面而构建的。
虽然它非常适合关系数据库,例如可以级联删除的 SQL,以及其他基于查询的操作。
但是当你想在 2 个对象之间耦合数据时,你会遇到一些问题。
- 如果任何文档/记录依赖于其他兄弟姐妹,您需要同步它们,这通常是一个痛苦的**。
- 如果任何文档非常大,如果它与 db 的其他成员具有级联依赖关系,那么您的数据库就会开始出汗。
可能的解决方案
由于持久文档可以与核心数据集成,因此请尝试将任何新数据放入核心数据并从中计算差异。
设计原则背后的意识形态
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
推荐阅读
- mongodb - 计算 Jaccard-Index - $size 返回字符串类型的值
- angular5 - Angular 2 Autocomplete 从所选选项中获取值
- javascript - Swiper 和 FullpageJS 滚动
- php - 警告:“catalog_items”的夹具创建失败“ SQLSTATE [42S01]
- amazon-web-services - Amazon Lex 会话属性 Web 控制台
- clojure - Clojure:一个似乎需要大量使用数据结构突变的程序
- android - 使用 MPAndroidChart 的饼图对齐问题
- java - 无法将字段从 spring boot 项目自动装配到 spring mvc 项目
- javascript - ASP.net 部分布局和 javascript 在发布到服务器后未运行
- linux - 查找列是否在范围内