【发布时间】:2013-09-04 16:40:55
【问题描述】:
我有一个可变的布尔值数组,我想检查是否有任何值是 YES。
目前我在这个数组旁边创建另一个数组,它总是像这样的 ALL False;
[MyArray addObject:[NSNumber numberWithBool:switchInput]];
[MyAllNoArray addObject:[NSNumber numberWithBool:NO]];
用户做了一些操作,MyArray 中的一些对象可能会变成 YES,然后我用下面的来看看 ANY 是否为真。
if([MyArray isEqualToArray:MyAllNoArray])
我只是想知道是否有更好的方法(这种方法似乎很浪费)?
我考虑过一个计数器,每次其中一个对象发生变化时,计数器都会上升或下降(取决于更改为 YES 或 NO),如果计数器为 0,则数组也是如此。但我只是想在我遗漏的 IF 语句中可能有更好的方法。
【问题讨论】:
-
简单循环更快,概念上更简单。
-
我喜欢柜台的想法。由于它是面向对象的,因此您可以封装该行为。通常我会说不要预先优化,但如果你知道数组可能很大,这似乎是一个很好的例子。
标签: ios objective-c arrays if-statement compare