我有3个NSMutableArray
个对象,其中包含CMTime
个对象。如何以有效的方式遍历所有这三个,并找出这三个中是否存在重复值?例如,我正在迭代其中一个时间并读取该值并将其存储在x
中。现在,我想看看x
是否在其他两个数组中出现(在任何位置)。我尝试寻找contains
方法,但找不到方法。我确实遇到过filterUsingPredicate
,但我不确定这是否是最佳方式,也不知道如何实际使用谓词。
答案 0 :(得分:10)
像这样:我试过找一个包含方法,但找不到一个。
if ([array indexOfObject:object] != NSNotFound) {
// object found
}
else {
// object not found
}
答案 1 :(得分:1)
您可以使用([yourArray indexOfObject:x] != NSNotFound)
代替丢失的contains
方法。但是,如果您快速,经常或使用大量元素执行此操作,则应考虑使用NSMutableOrderedSet
,其排序方式与NSMutableArray
类似,但提供快速有效的contains
方法,以及允许联合和交集等快速操作,这可能允许您重新设计算法以更少地迭代元素。