2
を型チェックを持ち、クラスで自身のデリゲートを指定し、私は別のクラスを通知する必要があるObjective-Cのクラスを書いたので、私は、デリゲートのプロトコルを定義した:私のクラスでは、Interface Builderで
@protocol glob_protocol <NSObject>
@required
- (IBAction) call:(int) val val2:(int) val2;
@end
私が持っています代理人を保存するメンバー:
IBOutlet id <glob_protocol> delegate;
インターフェイスビルダーでクラス/インスタンスを接続するときに、今すぐタイプチェックがありません。任意のクラスをデリゲートとして接続できます。
タイプチェックを有効にする方法はありますか?私は、プロトコルを実装するクラス/インスタンスのみがデリゲートとして設定できることを願っています。
ヒントのおかげで、 Torsten。
EDIT: UIKitのヘッダーファイルをチェックして、追加の情報やキーワードがあるかどうかを確認しましたが、見つからなかっただけです。 InterfaceBuilderがどのインスタンスをデリゲートとして設定できるかという情報がどこから得られたのだろうか。
あなたの答えをありがとうが、それは私を助けません。コードでは、iは(もちろん)デリゲートがnilでないかどうかをチェックし、コールする前にプロトコルに準拠しているかどうかをチェックします。インスタンスがデリゲートとして設定できるかどうかをInterfaceBuilderに確認させることに興味があります。 –
@トルステン私は問題とあなたが望むものを理解しました。私が知っている最も近い選択肢に答えました。なぜなら、現在あなたが望むもの(afaik)のためのサポート/ハックがないからです。 – justin
よろしくお願いします。 InterfaceBuilderでチェックを有効にすることができない場合は、私が今持っているものに固執し、デリゲートの割り当てに注意してください。 –