0
私は現在、本からobjective-cを学んでいます。 1つの例では、特定のヘッダファイルのクラスインタフェースの前に、@class
とそれに続く2つのプロトコル宣言が読み込まれます。@classの下にプロトコル宣言がありますか?
@class Thing;
@protocol Foo
-(void)foo:(Thing *);
@end;
@protocol Bar
-(void)bar:(Thing *);
@end;
@interface Thing : NSObject <Foo, Bar>
...
私は@class
が循環参照を防ぐために使用された、しかし私はその下に何が起こっているか理解していないことを理解しています。なぜプロトコルは@interface
ブロックではなく、そこで宣言されていますか?
私は今や何が起こっているのか理解していると思います。私の混乱は、 '@ class'ステートメントと2つのプロトコル宣言が手を携えてお互いに関係していると思ったことです。その名前のクラスが存在していることをコンパイラに通知するだけです。プロトコル宣言で参照が使用されていたからです。助けてくれてありがとう! – Fitzy
はい、それは確かに前方宣言です:) – Jack