我有一个名为 selectedUsers 的 NSMutableArray,我正在使用名为 addUser 的方法向其添加对象。被添加的对象通常是 PLManagedUser 类型(一个核心数据管理对象),尽管有时该对象可能是一个字符串。无论如何,如果数组已经包含该对象,我不想将它添加到数组中。这是代码:
- (void)addUser:(id)user withTitle:(NSString *)title {
if (![_selectedUsers containsObject:user]) {
[_selectedUsers addObject:user];
}
}
我注意到,如果我尝试使用上述方法连续添加同一用户,containsObject 会捕获它,并且不会添加重复项。但是,如果我在添加其他对象之后添加相同的用户(具有相同的内存地址),则会添加重复项。
每次我添加一些东西来确认重复的对象在数组中时,我都会打印数组的内容。
我的问题是,是否有任何明显的原因导致 containsObject 在这里无法始终如一地工作?
最佳答案
关于ios - NSArray containsObject 方法不一致的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17451823/