removeObjectFromSetAtIndex,无法识别的选择器发送到实例

时间:2013-09-30 03:12:02

标签: ios core-data

我刚开始使用带有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'

1 个答案:

答案 0 :(得分:1)

我几乎放弃了NSOrderedSet。它们有点笨拙,既不是NSArray也不是NSSet,所以许多常用功能根本不可用。

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