私はXcode 4を使用しています、単純なクラスインターフェイスを定義して、インターフェイス定義にNSTableViewDelegateとNSTableViewDataSourceプロトコルを追加しました。すなわち、 @interface fooの:NSObjectの< NSTableViewDelegate、NSTableViewDataSource>私のビルド設定でプロトコルメソッドが指定されていないと警告が表示されないのはなぜですか?
、私はオプションは、「不完全のObjective-Cプロトコル」警告が有効になっていることが確認されている(などのデバッグ/どれアーキテクチャー用)と私が取得する必要がありますNSTableViewDataSourceプロトコルに必要な非オプションのメソッドのコンパイル時の警告。しかし、私はまったく警告を受けませんが、実行時に、メソッドが定義されていないというメッセージがログに表示されます。
誰もがなぜ知っていますか?あなたがAppleのNSTableView.hを見れば
少なくともデリゲートプロトコルは非公式なので、メソッドを実装していないと、コードが機能するはずです。実装する必要がないということです。そのため警告が表示されません。 –
メソッドのいくつかが必要です---そのため、実行時だけでなくコンパイル時に警告を出すべきです。 コンパイル時の警告が表示される場合は、ランタイム警告を受け取るだけのファンではありません。ですから、これはxcode4のバグかどうか、あるいはコンパイル時に生成される警告を止める何かがあります。 – David
あなたは簡単に見つけることができます:XCode3でこれを試してください。 –