Hillegass の第 8 章に従って、RaiseMan アプリケーションを実装しました。次に、同じプロセスに従って、受講している Cocoa プログラミング クラスの演習用のコードを実装することにしましたが、ビルドして実行した後、次の非常に不可解なエラー メッセージが表示されました。
クラス _NSControllerObjectProxy のオブジェクト <_NSControllerObjectProxy: 0x100460e30> から BOOL を作成できません
このエラー メッセージの意味がわかりません。Google で検索するといくつかヒットしましたが、それらの対策は、私がすでに行っていたことを実行することであると思われました。
Interface Builder で行ったすべての接続と割り当てをじっと見つめましたが、明らかに間違っているようには見えません。
そこで、デバッガーに入り、MyDocument クラスの init メソッド内にブレークポイントを設定しましたが、2 回呼び出されています。どうしてそれが起こり得ますか?init メソッドが 2 回呼び出されるようにするには、何を探す必要がありますか? スタック トレースは、init が自分で作成したのではないシステム関数によって呼び出されることを示しています。
比較のために、Hillegass の第 8 章に続くプロジェクトに戻り、MyDocument クラスの init メソッド内にブレークポイントを設定しました。これは 1 回呼び出されています (これは予想されることです)。