- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一组用作 DTO 的对象,它们是我根据从后端接收的 JSON 创建的对象。例如,我有代表数据库中所有用户的对象“用户”。我通过 JSON 的休息服务获取它们并将其转换为用户对象。
所有这些 DTO 都具有相同的基类,称为“BaseDTO”。
另一方面,我在 Core Data 中表示了这个对象,因为我必须将它保存在磁盘上。
我的问题是,当我在 CoreData 中创建实体时,它继承自 NSManagedObject
。
因此,我必须创建例如“User”对象,其 DTO 和“UserCoreData”,其实体 coreData 且两者都具有相同的字段。
当我想在 CoreData 中保存一个“用户”时,我得到了“用户”对象,并通过“UserCoreData”类中的一个方法通过我传递给方法的“用户”对象字段创建了一个“UserCoreData”。
这种方式有点麻烦,我想问你是否可以建议一种更干净的方式来做到这一点
最佳答案
因此,根据您的 DTO 基类正在执行的操作,您可以将其某些功能提取到协议(protocol)中,并在协议(protocol)扩展中添加默认实现。
然后你的 NSManagedObject 子类可以采用这个协议(protocol),这样你就可以在任何需要的地方使用 DTO 功能。如果这不是一个选项,那么除了重复模型定义之外别无他法。
然后这取决于您的用例,您必须问问自己是否真的需要使用 CoreData。只是为了将当前数据保存在磁盘上,还有其他选项,例如 Codable。如果您需要修改对象和查询部分数据,并获得有关更改的通知,则 CoreData 非常有用。但仅仅为了持久化整个对象,它有时做得太多了。
关于ios - CoreData ManagedObject 和 App Model 交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54256204/
我是 Core Data 的新手,有一个问题听起来很容易解决(至少在 SQL 中是这样),但我无法用 Core Data 解决这个问题。 我正在尝试做的是:我有一个获取的 ManagedObject,
这是在后台线程上。它是一个私有(private)并发类型上下文,并且在上下文performBlock 中执行。我做得对,至少我认为是。 我不是核心数据的初学者,但是我可能会错过一些明显的东西 - 因为
在此article ,它说“Core Data 是一种模型层技术。Core Data 帮助您构建表示应用程序状态的模型层。” 我对 managedObject 类和我自己的模型类之间的关系感到困惑。如
我有一个问题,我想测试我的 ManagedObject 是否为空,然后生成我的 CoreData。 let fetchRequest = NSFetchRequest(entityName: "Adr
这是我在这里问的一个最愚蠢的问题,但经过四次尝试后,我从 Xcode 得到了相同的答案——“没有这样的模块”。我做了一个模型。我做了一个简单的用户体验。一切正常。我从数据模型中继承了 NSManage
我现在需要了解如何从托管对象获取图像引用。这是用户滑动并按下删除时的删除部分 if editingStyle == .Delete { // Delet
我的问题是关于我几个小时以来一直在苦苦挣扎的特定“问题”。 我在 TableViewController "ToDoVC"中有一个自定义单元格(ViewController 是 ToDoCellVC)
需要使用 Swift 访问 Core Data 记录。 理想情况下,我想调用我的类“核心数据”,它返回 ManagedObject 或 false(不存在对象)。但是目前,当我想检索 ManagedO
场景: 我正在处理 2 个 viewController,每个 viewController 都有自己的上下文(同一线程)。我正在尝试通过委托(delegate)方法从 MOC2 -> MOC1 传递
我有一个混合语言项目。我已经开始使用 Swift 来生成核心数据实体。遇到单元测试问题。我正在尝试创建我的实体之一的实例,并遇到某种命名空间问题。 这是当我尝试将其分配给变量时收到的消息。 Could
我有一个 tableViewController,它在顶部显示一个“添加”(静态)单元格,我希望它列出从 managedObjectContext 中提取的对象(动态单元格)的属性>。我找到了 thi
我有两个实体 A 和 B。A 与 B 具有一对多关系。A 和 B 具有不同的 managedObjectContext contextA 和 contextB。我需要在contextB中修改B的一些属
我在核心数据图中描述了一些颜色信息。实体是颜色,属性是颜色分量。 我在两个方面苦苦挣扎:如何从图表中删除颜色对象,其次,(奖金问题?),我如何识别重复的颜色? 在我的 AppDelegate 中,我有
在使用 Swift 探索 Core Data 的过程中,我有以下功能在工作,作为测试: func insertObject (entityName:String) { var newItem
在文档和广泛的文献中,生成的用于删除/删除 CoreData for IOS 中的子类托管对象的工厂方法是 (void)removeXXXObject:(NSManagedObject *)value
我在 swift CoreData 中有一个表,我保存了 OrderTable 类型的记录并从该表中获取保存的记录以重新加载该表。在闭包的帮助下,我将该数组值分配给一个 OrderTable 类型的数
我正在尝试在同一个 sqlite 数据库中创建两个表。现在,这两个 ManagedObjectModel 不在同一实例中运行。让我解释一下......我运行应用程序一次,然后以编程方式在持久存储中创建
我应该如何手动将托管对象添加到 Restkit 托管对象存储中?我正在使用 Restkit 为 SQLite 数据库植入一系列托管对象。 Restkit 的所有功能似乎都是针对序列化和反序列化对象,但
我有以下代码。 MbsAppDelegate *delegate = (MbsAppDelegate *)[[UIApplication sharedApplication] delegate]; s
我有以下格式的 json 数据: { "AvailToDate": "2016-12-31 00:00:00.0", "CompanyName": "Google", "Sho
我是一名优秀的程序员,十分优秀!