如何在coredata中添加数组mutablearray属性并获取?

时间:2016-01-09 08:59:29

标签: ios swift core-data

var everyTwo = input.Where((c, i) => i % 2 == 0);

我有一个人物实体,其属性包括useriD,name,phoneNumber和booksLiked。我想将书名插入" booksLiked"特定人的属性。我不知道如何声明bookLiked(它是可转换的吗?)以及如何插入新的书名。后来我想检索特定人的所有书名。(swift)请帮助。提前谢谢

1 个答案:

答案 0 :(得分:0)

有两种方法可以实现这一目标:

  • 您可以使用NSKeyedArchiver声明“二进制数据”属性并将NSArray转换为NSData,然后在获取它时使用NSKeyedUnarchiver重新转换它。 (不推荐)
  • 您可以创建另一个托管对象Liked Book,然后在模型中设置一对多关系,因此当您重新生成NSManagedObject子类时,您将在likesBooks属性中保存NSSet引用,并且可以使用预定义方法在那里添加书籍应该在“Person”托管对象子类中自动创建。

希望这有帮助。

修改

这里有一个xcdatamodel文件的示例:

enter image description here

enter image description here

正确设置关系,并确保设置每个关系(在两个实体上)。确保选择删除规则:级联人员与喜欢的人关系,以便在删除此人时删除该人的所有书籍。还要设置“To Many”关系,以便能够在NSSet中添加多个喜欢的书籍。 (就像在图片中一样)。

现在你必须在Xcode的Editor菜单中选择create NSManagedObjectSubclass,根据它选择你的实体,你应该在这一步之后创建这两个类。