我刚开始使用带有Core Data的NSOrderedSet
,而我尝试添加的第一个对象失败了。我发现这篇文章描述了失败:Exception thrown in NSOrderedSet generated accessors
现在我想删除特定索引处的对象。当我调用生成的Core Data方法时,我将无法识别的选择器发送到实例。对我来说,它看起来像:
removeObjectFromAddressAnnotationsAtIndex:
我想知道我做错了什么,或者是否也存在这个生成方法的错误。当我走过时,我看到我的索引符合我的预期,所以我不确定它是什么。
编辑:
我这样使用它:
[_route removeAddressAnnotationsAtIndexes:[NSIndexSet indexSetWithIndex:indexToRemove]];
[_route removeObjectFromAddressAnnotationsAtIndex:indexToRemove];
我已经尝试了两种方法,但都失败并出现此错误:
[Route removeAddressAnnotationsAtIndexes:]: unrecognized selector sent to instance 0xea71980
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Route removeAddressAnnotationsAtIndexes:]: unrecognized selector sent to instance 0xea71980'
答案 0 :(得分:1)
我几乎放弃了NSOrderedSet
。它们有点笨拙,既不是NSArray
也不是NSSet
,所以许多常用功能根本不可用。
在我的核心数据模型中,我添加了position
或order
属性来跟踪订单。简单可靠。