我正在向NSMutableArray添加对象(在本例中为NSNumbers),我想检查在添加之前检查数组中重复项的最佳方法.(即)
Number to add
if (NSMutableArray does not contain Number) {
add Number
}
Run Code Online (Sandbox Code Playgroud)
编辑:
非常感谢,我今天早上在NSArray运气好,但完全错过了"containsObject".那本来可以做得很好,但看过NSMutableSet远远超过我想要的东西.最后一个问题,如果我可以:
while([mySet count] < 5) {
NSNumber *numberToAdd = [NSNumber numberWithInt:random() %10];
[mySet addObject:numberToAdd];
}
Run Code Online (Sandbox Code Playgroud)
我不认为这实际上很重要,但最好检查一下"containsObject"是否只是扔掉副本并继续进行.
while([mySet count] < 5) {
NSNumber *numberToAdd = [NSNumber numberWithInt:random() %10];
if(!mySet containsObject:numberToAdd) [mySet addObject:numberToAdd];
}
Run Code Online (Sandbox Code Playgroud)
再次非常感谢,这真的很酷,并将节省我一大堆时间.
加里
ken*_*ytm 15
记住NSMutableArray也是一个NSArray.
if (![theArray containsObject:theNumber]) {
// does not contain.
}
Run Code Online (Sandbox Code Playgroud)
(如果您需要唯一对象而不关心插入顺序,则NSMutableSet是一个更高效的容器.)
回答你的第二个问题:不,你真的不需要检查集合是否已包含对象.NSMutableSet
你打电话的时候会为你做这件事addObject:
.它可能有一种更有效的方法(因为它可以访问内部数据结构),所以通过让它NSMutableSet
处理它实际上可能会带来轻微的性能优势.
如果不出意外,你必须编写更少的代码,这总是很好.
归档时间: |
|
查看次数: |
10704 次 |
最近记录: |