【问题标题】:Core Data - NSSet of NSString核心数据 - NSString 的 NSSet
【发布时间】:2014-02-10 09:11:34
【问题描述】:
核心数据对象中是否可以有NSSet 或NSString 对象?
例如,我有ClassA,它是NSManagedObject 的子类,我希望ClassA 包含一组字符串。
我知道我可以创建某种作为NSManagedObject 子类的 ManagedString 并使用它,但我不喜欢。
【问题讨论】:
标签:
ios
iphone
objective-c
core-data
nsmanagedobject
【解决方案1】:
如果您将属性的类型设置为“可变形”,那么您可以简单地分配
给它一个NSSet:
e.setOfStrings = [NSSet setWithObjects:@"a", @"b", @"c", nil];
Core Data 将使用NSCoding 方法将集合转换为数据块并
将其存储在 SQLite 存储中。
缺点可能是您无法在提取请求的集合中搜索字符串。
如果您需要该功能,则必须改用一对多关系。