【发布时间】:2014-02-24 02:42:31
【问题描述】:
我有一个带有 NSManagedObjects 的 NSMutableArray,我从数据库中提取了它。我要做的是根据单个对象属性过滤掉数组中的某些对象。过滤掉我的意思是从数组中删除。问题是,当做一个浅拷贝并从 arrayTwo 中删除一个对象时,最终会从我复制的原始数组中删除 NSManagedObject 。我查找了几种不同的方法来应用深拷贝,这样我就可以从第二个数组中过滤掉对象,而不会影响第一个数组。这是我用来执行此操作的代码:
NSMutableArray *copyOfChestExercises = [[NSMutableArray alloc]initWithArray:_chestExercises copyItems:YES];
问题是我得到以下异常:
[Exercise copyWithZone:]: unrecognized selector sent to instance 0x15679f20'
尝试复制时。我已经阅读了一些帖子,指出我需要一个 copyWithZone 实现来执行此操作并在接口中具有。我还阅读了一些帖子,声称不能以我尝试的方式复制 NSManagedObjects。如果有人有关于如何做到这一点的提示或建议,或者如果不能按照我的方式完成,将不胜感激。
【问题讨论】:
标签: ios objective-c arrays