我有一个NSManagedObject子类定义如下:
extension Item {
@NSManaged var name: String
@NSManaged var parent: Item
@NSManaged var children: [Item]
}
为了设置'parent'属性,我使用它:
anItem.parent = aParent
而且我知道它会自动将一个项目附加到aParent.children。
但是,我希望将子项添加到特定位置。 这个想法是有一个排序的孩子阵列。
我知道我可以这样做:
aParent.childen.insert(anItem, atIndex: specificPosition)
但是有没有任何方法可以覆盖或运算符重载以自动实现?
答案 0 :(得分:2)
在您获取时,将子项插入特定位置将无法确保相同的排序顺序。 在获取期间,您将需要一个附加属性来定义排序顺序。
答案 1 :(得分:1)
这里有一些误解:
Array
,而是Set
或NSSet
。这可以通过让您的子类由Xcode生成来验证。NSOrderedSet