因为我不知道如何在核心数据中使用关系 我多次尝试都没有成功。
我想创建一个数组作为实体的属性
应该是什么类型的属性?
以及如何在核心数据中保存数组
我怎么得到它?
我很高兴示例代码
答案 0 :(得分:2)
您真的不想创建数组并将其存储在Core Data中。它不会被搜索,性能也会受到影响。
你远更好地建立一个测试项目并学习如何使用关系。您将关系对象视为任何其他对象,但它返回一个集而不是单个对象。
我建议阅读Core Data上的一些入门材料和掌握关系,否则你不会在任何接近其全部潜力的地方使用Core Data。
答案 1 :(得分:1)
您可以将NSArray
存储为Transformable
属性。然后,您可以使用NSCoding
来序列化数组。这种方法的优点是它很容易但你无法查询到数组,因为它在数据存储中存储为BLOB。如果数组很大,您可能必须向/从数据存储中保存或加载大量数据,只是为了读取或修改集合的一小部分。所以你应该使用小数组数据。
这是我的简单样本。 CoreDataWithArraySample
答案 2 :(得分:0)
为此,您可以在CoreData中使用可转换的属性类型。简单来说,属性类型可以被认为是指向支持NSCoding的任何objective-c对象的指针。 NSArray确实如此,因此您可以将其中一个分配给该属性,但随后可以使用持久性存储,您存储在NSArray中的所有对象也需要符合NSCoding。