核心数据架构问题 NSDictionary?
Posted
技术标签:
【中文标题】核心数据架构问题 NSDictionary?【英文标题】:Core Data architectural issue NSDictionary? 【发布时间】:2015-04-01 23:22:11 【问题描述】:我想将下面的子结构保存到 Core Data 中。
// json #1
1 = Viktor;
2 = Fries;
3 = "0179 2147911";
custom =
name = Test;
school = Harvard;
;
id = 0232;
status = 4;
lastupdate = 111111;
// JSON #2
1 = Viktor;
2 = Fries;
3 = "0179 2147911";
custom =
age = Testage;
color = blue;
;
id = 0232;
用户可以自己自定义custom中的条目。两个 JSON 数据都应该使用相同的模型保存。
我认为我必须为自定义字段使用 NSDictionary。 你怎么看? 如何访问 NSFetchedresultController 中的自定义字段?
// 型号
class Contact: NSManagedObject
@NSManaged var 1: String?
@NSManaged var 2: String?
@NSManaged var 3: String?
@NSManaged var id: String?
@NSManaged var status: String?
@NSManaged var lastupdate: String?
@NSManaged var id: NSDictionary? <= Don't know how to implement it?!
你应该如何解决这个问题?
【问题讨论】:
【参考方案1】:我会将custom
实现为一个单独的实体,例如CustomValue
并赋予它两个属性name
(可以是“年龄”、“颜色”、“姓名”、“学校”或其他任何内容用户选择)和value
(它将保存相应的值,“38”、“blue”或其他)。然后定义从Contact
实体到CustomValue
的一对多关系。
一个小问题是value
必须始终属于同一类型(对于该字符串可能最简单),因此您需要将该字符串转换为正确的类型(例如,“年龄”为 Int)。
如果您将关系命名为 customValues
,则使用键路径可以轻松访问值:myContact.customValues.name
和 myContact.customValues.value
。
【讨论】:
以上是关于核心数据架构问题 NSDictionary?的主要内容,如果未能解决你的问题,请参考以下文章