Swift:通过可选属性将可选的模型数组减少为单个Bool

时间:2017-05-11 14:27:00

标签: swift dictionary reduce flatmap

我刚刚了解了地图,flatMap和swift的精彩世界,我已经在有意义的地方使用它,并帮助改进我的代码。

现在我遇到了一个非常特殊的问题,我想知道是否有使用map,flatMap和/或reduce的解决方案。

在我的模型类中,我有一个可选的其他模型数组。这些模型具有可选的Bool属性。我现在想知道整个模型数组是否包含至少一个具有true属性的模型。这就是我目前正在做的事情:

class ModelA{
  var bModels: [ModelB]?
}
class ModelB{
  var aBool: Bool?
}

func hasATrue(aModel: ModelA) {
    guard let bModels = aModel.bModels else { return false }
    for bModel in bModels {
        if bModel.aBool == true {
            return true
        }
    }
    return false
}

0 个答案:

没有答案