我有一个关于用核心数据创建数据库的问题。 在我的应用程序在第一次启动时,我应该解析一些json以获取一些数据插入核心数据分贝。 我的JSON文件结构以这样的方式(我只显示我的JSON的元素)IOS:存储一个数组和对象嵌套的json
[{"id":"s1",
"n":"Name hotel",
"id_loc":["l1","l2","l3","l4"],
"val":3,
"tel1":"12345678",
"tel2":"12345678",
"obj":
{"id":"o1",
"n":"Name",
"des":"description",
"flag":"red"}
}]
我知道我可以认为这是在coredata一个实体,并考虑所有的元素属性,很明显。 现在你可以看到在我的json里面有一个数组“id_loc”和一个对象(或字典)“obj”。 核心数据管理这两个元素的方式是什么? 我想“obj”可以作为一个新实体来管理,而“id_loc”,在我的核心数据库中设置它的方式是什么? 你能帮我吗? 谢谢
是的,你是对的,id_loc是重要的,因为我用它作为你的第二个例子...然后我应该为id_loc创建一个新实体,但是怎么做? id_loc可以包含可变数量的元素,以及如何设置这个新实体?多少属性? – CrazyDev
您将创建一个具有** single **属性的'id_loc',它是一个字符串。然后,您的主实体将具有多对多关系,因此它可以与它所需的那些单个属性对象中的许多关联。你最终得到一个对象的'NSSet',每个对象对应一个'id_loc'字符串。 –
我创建了一个名为'Id_loc'的具有单个属性的实体,作为一个字符串;我为主要实体创建了多对多关系。现在我生成了主身份和id_loc的类;现在在主要身份类中,我看到了两种方法:' - (void)addLocObject:(Id_loc *)value; - (void)addLoc:(NSSet *)values;'我应该只使用第二个?所以我把我的id_loc数组插入它很容易。或者我应该使用'addLocObject'?但在这第二种情况下,我应该做一个发出循环,它不是直接... – CrazyDev