核心数据架构问题 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.namemyContact.customValues.value

【讨论】:

以上是关于核心数据架构问题 NSDictionary?的主要内容,如果未能解决你的问题,请参考以下文章

NSDictionary 和核心数据

具有多个日期条目(每年大约 800 多个)的核心数据或 NSDictionary?啥是最容易实现的?

01---NSD---云计算系统管理

在迭代 NSDictionary 时保持顺序

我想用 URL POST 方法在字典参数中传递数组

iphone 模拟器和设备包