在init

时间:2017-02-05 19:22:23

标签: ios swift

我正在尝试传入自定义对象来填充我的视图

class ViewController : UIViewController { 
   convenience init() {
      self.init(data: CustomObject) <----- Error: Cannot convert value of type  'CustomObject.Type' to expected argument type CustomObject
    }

    init (data: CustomObject) {
       self.data = data
       super.init(nibName: nil, bundle: nil)
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
}

通常如果我传入一个数组,我只传入一个空数组,如下所示

    convenience init() {
      self.init(data: [])  
    }

    init (data: Array<String>) {
       self.data = data
       super.init(nibName: nil, bundle: nil)
    }

但是因为我传递了一个自定义对象,所以我不确定该放置什么

1 个答案:

答案 0 :(得分:0)

您当前正在传递类型,而不是该类型的实际对象。假设您的CustomObject有一个没有任何参数的初始值设定项,请使用:

convenience init() {
    self.init(data: CustomObject()) // create an instance and pass it along
}