我有一个使用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)
答案 0 :(得分:2)
我认为您遇到的错误是由于使用了override
,只有在覆盖具有相同签名的方法时才会使用{<1}}
class SettingLauncher: NSObject, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout {
init(controller: UIViewController){
// init super class accordingly
// super.init()
}
}