我在 iOS 中使用 CoreData 对象。
一个产品有子产品
@property (nonatomic, retain) NSOrderedSet *subProducts;
出于某种原因,对于其中一种产品,我没有获得 NSOrderedSet,而是获得了 _NSFaultingMutableSet。我不能在该对象上使用 objectAtIndex 方法,但我可以使用 for 对其进行迭代。
_NSFaultingMutableSet 类是什么?
我在 iOS 中使用 CoreData 对象。
一个产品有子产品
@property (nonatomic, retain) NSOrderedSet *subProducts;
出于某种原因,对于其中一种产品,我没有获得 NSOrderedSet,而是获得了 _NSFaultingMutableSet。我不能在该对象上使用 objectAtIndex 方法,但我可以使用 for 对其进行迭代。
_NSFaultingMutableSet 类是什么?
An_NSFaultingMutableSet
是 的私有 CoreData 子类NSMutableSet
。您确定您的 .xcdatamodel 将关系声明为有序吗?仅仅因为您的代码将属性声明为NSOrderedSet
并不意味着它一定是;这完全由数据模型控制。
NSFaultingOrderedSet
不是官方 API。您可以尝试确保您有正确的课程,如下所示:
NSOrderedSet *subProducts = (NSOrderedSet *)product.subProducts;
Product *firstSubProduct = [subProducts objectAtIndex:0];