我刚开始将NSOrderedSet与Core Data一起使用,并且尝试添加的第一个对象失败。我找到了描述失败的帖子: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'

最佳答案

我已经放弃了NSOrderedSet。它们既不是从NSArray也不是从NSSet派生出来的,因此有点笨拙,因此很多常规功能根本不可用。

在我的核心数据模型中,我包含了positionorder属性来跟踪订单。简单可靠。

关于ios - removeObjectFromSetAtIndex,无法识别的选择器发送到实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19085923/

10-10 20:42