我构建了一个元组:
var groupUsersFlags = (false, false, false, false)
在整个屏幕中,这些值会翻转为true。所以:
groupUsersFlags.0 = true
groupUsersFlags.1 = true
etc..
有没有办法检查某些值是否在某些时候都是真的?
答案 0 :(得分:1)
我同意在这种情况下使用其他数据类型的想法。 但是,要回答这个问题,您可以检查所有值是否为真如下:
groupUsersFlags.0 && groupUsersFlags.1 && groupUsersFlags.2 && groupUsersFlags.3
或者,使用反射(使用自己的风险):
Mirror(reflecting: groupUsersFlags).children.reduce(true) { $0 && $1.value as! Bool }
答案 1 :(得分:0)
let x = Mirror(reflecting: groupUsersFlags)
var isAllTrue = true
for value in x.children.enumerate() where value.element.value as? Bool != nil{
if value.element.value as! Bool == false {
isAllTrue = false
break
}
}
尝试这个解决方案。