2017-10-21 11 views
0

私はすでにSwiftで新しくなっています。私はシミュレータでappを実行します。私は本のリストを持っています、私がそれらの1つをクリックすると、アプリは選択された本の詳細を示します。 「書籍の編集」をクリックして詳細を変更し、73行目で一時停止した「書籍を保存」をクリックします。致命的なエラー:アンラッピング中に予期せず見つからないオプション値 - デリゲート

どこが間違っていますか?なぜデリゲートが「無」ですか?ありがとう。

enter image description here

私はプロトコルを作成し、以下のように「デリゲートフィールドを宣言します。DetailViewControllerで

enter image description here

を次のように、私は、コントローラのデリゲートを設定します。enter image description here

+0

あなたは誰にも代理人を割り当てませんでした。 – dirtydanee

+0

デリゲートを設定する場所も教えてください。 – Ladislav

+0

@ラディスラフ質問を編集します。 –

答えて

2

まず、必ず実装しますデリゲートに準拠したいクラスのobject.delegate = self

また、私のように、デリゲートによってメソッド呼び出しを実装することをお勧め:何らかの理由でdelegateではなく、クラッシュのnilある場合

delegate?.editBook(self, editBook: book) 

それこの場合、何も起こらないだろう。

さらに、this answerをチェックして、デリゲートをセットアップする必要があることを確認することもできます(前述の回答の3番目の手順が不足している可能性があります)。

+0

返事ありがとうございます。私はあなたが示唆したようにそれは動作します。しかし、何や理由を理解するのは難しいですか? –

+0

喜んで助けてください。私が言いました答えをチェックしましたか? –

関連する問題