如何在 Swift 中检查 while 循环条件中的“nil”?

2024-05-09

如何检查nil在 Swift 的 while 循环中?我在这方面遇到错误:

var count: UInt = 0
var view: UIView = self
while view.superview != nil { // Cannot invoke '!=' with an argument list of type '(@lvalue UIView, NilLiteralConvertible)'
    count++
    view = view.superview
}
// Here comes count...

我目前使用的是 Xcode6-Beta7。


语法为while允许可选绑定。使用:

var view: UIView = self
while let sv = view.superview {
  count += 1
  view = sv
}

[感谢@ben-leggiero 指出view不必是Optional(如问题本身)并注意到 Swift 3 不兼容性]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Swift 中检查 while 循环条件中的“nil”? 的相关文章

随机推荐