私は、このような後半のよう次のように多くのコードを参照してください。Objective-Cのインスタンス変数上のプロトコルはどのように機能しますか?
id<foo> aBar;
一般的に、これは以下のような、私はクラス宣言で参照してくださいねものです:
@interface bar : UIViewController <UITableViewDelegate, UITableViewDataSource>
上記の平均をいaBarはクラス・バーのインスタンスであり、fooプロトコルで宣言されたすべてのメソッドを持つことを約束しますか?
質問と回答に「foo」と「bar」が入れ替わっている可能性があります。彼のクラス 'bar'はfooプロトコルを採用していないので、コンパイラは 'bar'のインスタンスを 'aBar'に格納することについて文句を言うでしょう。 –
私はスワップはないと思っていますが、fooプロトコルに準拠していないバークラスについては正しいです。私は彼の最後の段落がなぜ彼がそれをそのように書いたのかを説明すると思います。 –