我想通过扩展程序向UIViewController添加一个方便的启动器,因为我希望所有UIViewControllers / UIViewController子类都可以访问它。但是当我添加它时,它并没有出现在可用的启动器的下拉列表中,如果我尝试使用它,我会收到错误Missing argument label 'coder:' in call
。
extension UIViewController {
convenience init(test: String) {
self.init(nibName: nil, bundle: nil)
print(test)
}
let testController = TestController(test: "Hello World!") // Missing argument label 'coder:' in call
是否有某种技巧可以让它发挥作用?
我可以将方便的启动器添加到其他UIKit类中,并将它们显示为可用的内容。
答案 0 :(得分:0)
它的工作正常,因为您可以检查和匹配您的代码,也许您需要删除派生数据:
extension UIViewController {
convenience init(test: String) {
self.init(nibName: nil, bundle: nil)
print(test)
}
}
class SecondViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var textf: UITextField!
var doubleValue: Double?
override func viewDidLoad() {
super.viewDidLoad()
let testController = SecondViewController(test: "ffwfew")
print(testController)
}
}