检查 Array 中的 Int 。 Swift3、iOS
Checking for Int in Array . Swift 3, iOS
我有以下代码:
print (sender.tag) // prints 21 (example)
print(DictPl2) // prints [0, 1, 20, 21, 84, 94, 26, 27, 37, 55, 56, 66, 52, 53, 54, 55, 72, 73, 74, 75]
var DictPl2 = [Int]()
if playeractive == 1 {
for i in DictPl2 {
if i == sender.tag {
print("Well done")
sender.backgroundColor = UIColor.red
}
else { //always goes this
print("Bad")
sender.backgroundColor = UIColor.brown
}
}
我正在检查 sender.tag 是否等于数组 DictPl2 中的任何元素。但是,如果它等于或不等于,代码总是按照标记的方式进行。任何人都知道,可能是什么错误?
谢谢
您可以只使用 DictPl2.contains(sender.tag)
而不是 for loop
。那么您的代码将如下所示:
if DictPL2.contains(sender.tag) {
print("Well done")
sender.backgroundColor = UIColor.red
} else {
print("Bad")
sender.backgroundColor = UIColor.brown
}
在Swift3.2
if DictPL2.contains(where: {[=10=] == sender.tag) {
print("Well done")
} else {
print("Bad")
}
请检查Apple Guide。
我有以下代码:
print (sender.tag) // prints 21 (example)
print(DictPl2) // prints [0, 1, 20, 21, 84, 94, 26, 27, 37, 55, 56, 66, 52, 53, 54, 55, 72, 73, 74, 75]
var DictPl2 = [Int]()
if playeractive == 1 {
for i in DictPl2 {
if i == sender.tag {
print("Well done")
sender.backgroundColor = UIColor.red
}
else { //always goes this
print("Bad")
sender.backgroundColor = UIColor.brown
}
}
我正在检查 sender.tag 是否等于数组 DictPl2 中的任何元素。但是,如果它等于或不等于,代码总是按照标记的方式进行。任何人都知道,可能是什么错误? 谢谢
您可以只使用 DictPl2.contains(sender.tag)
而不是 for loop
。那么您的代码将如下所示:
if DictPL2.contains(sender.tag) {
print("Well done")
sender.backgroundColor = UIColor.red
} else {
print("Bad")
sender.backgroundColor = UIColor.brown
}
在Swift3.2
if DictPL2.contains(where: {[=10=] == sender.tag) {
print("Well done")
} else {
print("Bad")
}
请检查Apple Guide。