可以在可选绑定之前以某种方式检查空数组吗?

时间:2015-07-11 19:14:46

标签: swift

鉴于您有一系列可选项:

var values = [AnyObject?]

你可以在可选绑定之前以某种方式使用where子句来检查非空数组吗?例如,我知道我们可以这样做:

if !values.isEmpty {
    if let value = values[0] {
        // ...
    }
}

我们可以在可选绑定后链接where过滤器:

// doesn't do you any good when the array is empty
if let value = values[0] where !values.isEmpty {
    // ...
}

我希望能够首先评估where,以防止数组索引超出范围错误:

// Not valid syntax
if where !values.isEmpty, let value = values[0] {
    // ...
}

Swift 1.2或2.x中是否有某种形式的语法允许我以有效的方式表达它?

1 个答案:

答案 0 :(得分:2)

很简单:

if let value = values.first {
    ...
}