仅当对象尚未存在时才将对象添加到数组

OhD*_*Doh 2 objective-c nsarray ios

我想只在数组已经不包含该对象时才将对象添加到数组中.如何在NSArray中对containsObject方法进行相反的操作?

Jos*_*ell 11

使用an NSMutableOrderedSet,其addObject:方法完全符合您的要求:

将给定对象附加到可变有序集(如果它还不是成员).


crg*_*rgt 6

这是我如何做到的:

if (![myArray containsObject:objectToAdd]){
[myArray addObject:objectToAdd];
}
Run Code Online (Sandbox Code Playgroud)

更多细节在这里:

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/NSArray.html

请注意,因为containsObject方法查询数组中的每个对象,所以在较大的数组上使用它时会有一些性能方面的考虑因素.