How to check for `nil` in while loop condition in Swift?

前端 未结 2 1945
心在旅途
心在旅途 2021-02-05 04:42

How to check for nil in while loop in Swift? I\'m getting error on this:

var count: UInt = 0
var view: UIView = self
while view.superview != nil { /         


        
2条回答
  •  终归单人心
    2021-02-05 05:16

    The syntax of while allows for optional binding. Use:

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

    [Thanks to @ben-leggiero for noting that view need not be Optional (as in the question itself) and for noting Swift 3 incompatibilities]

提交回复
热议问题