2013-05-09 57 views
2

我有12个图像,我想检查它们是否全部看不见。所以我不得不检查他们是否隐藏或者他们没有内容。我没有检查每一个是隐藏的还是没有内容,我决定将所有布尔值的值加起来,例如[__ isHidden]将返回1或0,这是一个数字,所以我们可以在数学公式中使用它!
然后把这些布尔值的总和检查它们是否大于或等于12,这意味着至少有12张照片被隐藏,没有内容(*没有任何情况下照片会被隐藏,并且没有内容)RegEx像条件语句(带标签)

这里的条件语句:

if (((drawImage12.image == nil) + (drawImage11.image == nil) + (drawImage10.image == nil) + (drawImage9.image == nil) + (drawImage8.image == nil) + (drawImage7.image == nil) + (drawImage6.image == nil) + (drawImage5.image == nil) + (drawImage4.image == nil) + (drawImage3.image == nil) + (drawImage2.image == nil) + (drawImage1.image == nil) + ([drawImage12 isHidden]) + ([drawImage11 isHidden]) + ([drawImage10 isHidden]) + ([drawImage9 isHidden]) + ([drawImage8 isHidden]) + ([drawImage7 isHidden]) + ([drawImage6 isHidden]) + ([drawImage5 isHidden]) + ([drawImage4 isHidden]) + ([drawImage3 isHidden]) + ([drawImage2 isHidden]) + ([drawImage1 isHidden])) >= 12) { 
    //do stuff here 
} 

我的问题是:有没有写这个有点像正则表达式的作品,也许使用对象的tag属性更简单的方法?

像:(这是不是真正的代码,只是一个例子)
if (((drawImage[1-12].image == nil) + (drawImage[1-12].hidden == YES)) >= 12) { 其翻译成英文,会像“如果所有的12个图像是空白的或隐藏”

+0

[不使用签名,问候或标语在您的文章(http://stackoverflow.com/faq) – meagar 2015-03-14 13:37:25

回答

1

这不是要短得多,但也许你会喜欢这样的:

NSArray *drawImages = [NSArray arrayWithObjects:drawImage12, drawImage11, drawImage10, etc, nil]; 
bool thereIsAProblem = NO; 

for (UIImage *drawImage drawImages) { 
    if (!drawImage.image || drawImage.hidden) { 
     thereIsAProblem = true; 
     break; 
    } 
} 

if (!thereIsAProblem) { 
    //do stuff here 
} 

如果您首选下井合计值的路线,你可以永远只是这样做:

for (UIImage *drawImage drawImages) { 
    if (!drawImage.image || drawImage.hidden) { 
    someVariable += 1; 
    } 
} 

if (someVariable == 12) { 
    //do stuff 
} 

注:上面的代码是没有测试

+0

啊!很酷!第二位代码应该可以工作! (在你的第一部分代码中,我认为它会调用thereIsAProblem只是一个图像是不可见的,我只需要调用这个方法,当所有图像都不可见时,因为我知道用户看到一个空白屏幕!+1,我会离开这个问题现在没有回答,看看有没有人有更多的正则表达式的答案。谢谢你的这么多,它非常整洁!我喜欢你的阵列中的'',等等......让我笑了起来! – 2013-05-09 14:37:32