如何初始化一个类并在swift中使用Extensions

时间:2018-01-02 01:54:58

标签: ios swift

我有一个使用UIView或NSObject等的自定义类。我覆盖了init,但我希望能够在初始化时将自定义参数传递给此类,但我无法弄清楚如何做那。有什么想法吗?

class SettingLauncher: NSObject, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout {
    override init(controller: UIViewController){
        // cant pass this as a param, causes error
        super.init()
    }
}

我希望能够做的是

let settingsLauncher = SettingLauncher(controller: self)

1 个答案:

答案 0 :(得分:2)

我认为您遇到的错误是由于使用了override,只有在覆盖具有相同签名的方法时才会使用{<1}}

class SettingLauncher: NSObject, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout {
    init(controller: UIViewController){
       // init super class accordingly  
       // super.init() 
    }
}