0
私は1つのビューコントローラでプロトコルを宣言し、ビューコントローラを表示している関数を呼び出すことにしました。私はストーリーボードを使用していません。スウィフトプロトコルデリゲートが予期せずUIViewControllerでnilを見つけました
このdelegate!.setWishListButton()
は、エラーunexpectedly found nil while unwrapping an optional
を引き起こします。私は使用すべきではないことを知っている!デリゲート関数が呼び出されることはないので、テスト用です。
私はこれに関する多くの質問があることを知っていますが、私の使用法には一致しません。私はうまく動作するUIViewで同様のパターンがあります。
は、ここで私はそれがボタンを押すことにより、提示された機能で、私のビューコントローラの2番目の宣言を削除した後、これが働い
class anotherViewController: UIViewController, SetWishListButtonDelegate {
let myViewController = MyViewController()
override func viewDidLoad() {
super.viewDidLoad()
myViewController.delegate = self
}
func setWishListButton() {
print("DELEGATE METHOD FIRED")
wishListButton.isSelected = true
}
'someFunction'はどこから呼び出されていますか? –
質問が編集されました。呼び出し元関数はAPIを呼び出してから代理人を呼び出します。 – markhorrocks