“自我”由&&,||的关闭错误捕获操作者

时间:2017-12-17 14:11:49

标签: swift initialization operators

我有一个初始化方法。 为什么我会在所有成员初始化之前看到'self'被闭包捕获如果我使用&&或||操作数。

var type:Type? = .non

init(dictionary:[String:AnyObject]){

  if let type  = dictionary["type"] as? Int {
        self.type = Type.init(rawValue: type)!
  }


  //'self' captured by a closure before all members were initialized

  if self.type == .picture || self.type == .textWithPicture {
    //........
  }     
}

1 个答案:

答案 0 :(得分:3)

你是从NSObject继承你的班级吗?如果是,则需要在使用此类的属性之前调用super的init方法。