首页 > 解决方案 > Swift:仅当数组匹配特定条件时如何执行操作?

问题描述

所以我遇到了这个问题(Swift初学者,所以你知道)并且在这里找不到解决方案:

我有一组按钮,我将其关联到arrayof bools,我们将其命名为litPad

基本上例如,如果button[i]突出显示,litPad[i]则变为true(默认情况下,我将整体设置bool arrayfalse)。

我想要实现的是仅在以下情况下执行某些bools操作true

例如 if litPad[3], litPad[6]& litPad[12]aretrue我将执行一个动作,但这些条件必须是排他性的,这意味着如果这 3 个按钮被突出显示但任何其他按钮以及该动作都不会执行,另一个将(不同的动作,例如如果只有litPad[3]&litPad[6]突出显示/true或如果litPad[3], litPad[6], litPad[12]&litPad[19]突出显示/ true)。

我似乎无法正确格式化我的 if 语句以匹配我想要实现的目标。

提前致谢 !!

标签: arraysswiftxcode

解决方案


您可以使用 aSet来跟踪哪些按钮“打开”,然后switch为各个操作构建一个语句:

var litPad = Set<Int>()

litPad = [ 1,2,5 ]

switch litPad {
case [1,2,5]: print("action 1")
case [1,2]: print("action 2")
default: ()
}


推荐阅读