私が使用AppCode
していて、非常に大規模なプロジェクトのコードで興味深い状況にフラグを立てました。プレARC。
サブクラスは、delegate と呼ばれるプロパティを定義して合成します。実はプロパティ宣言はコメントアウトされていました!しかし、その@synthesize delegate = delegate_;
声明は後に残されました。
おそらく、基本クラスがデリゲートとも呼ばれるプロパティを定義して合成し、それを同じ名前のバッキング変数と合成するため、コードはコンパイルされます。@synthesize delegate = delegate_;
私の質問は次のとおりです。メッセージがデリゲートに送信されるとどうなりますか
a) 基本クラスのメソッドと
b) サブクラス メソッド内。
AppCode
サブクラスの合成ステートメントにエラーとしてフラグを立てます。
プロパティ 'delegate' のアクセサーは、インスタンス変数 'delegate_' で既に合成されています