2016-09-07 2 views
1

Здравствуйте, у меня есть некоторые коды в моем проекте, и в нижеследующих кодах дает предупреждение;Оператор C-style устарел и будет удален в будущей версии Swift

private var viewController: UIViewController? { 
     for var next:UIView? = self.superview; next != nil; next = next?.superview { 
      let responder = next?.nextResponder() 
      if let vc = responder as? UIViewController { 
       return vc 
      } 
     } 
     return nil 
    } 

Предупреждение линия под ниже

для вара следующего: UIView? = self.superview; next! = nil; next = next? .superview {

Как это исправить?

+0

@ EICaptainv2.0 пояснит да, но моя линия оленьей кожи исправить с ней – SwiftDeveloper

+0

вы можете показать мне, что код ???? –

+0

@ EICaptainv2.0 я добавил верхнюю сторону предупреждающей линии вы можете видеть желтую линию – SwiftDeveloper

ответ

1

Вот как переписать код с while циклом:

var viewController: UIViewController? { 
    var next: UIView? = self.superview 
    while next != nil { 
     let responder = next?.nextResponder() 
     if let vc = responder as? UIViewController { 
      return vc 
     } 
     next = next?.superview 
    } 
    return nil 
} 
+1

Спасибо, что человек работал! – SwiftDeveloper