Я сейчас изучаю цель-c из книги. В одном примере перед интерфейсом класса определенного заголовочного файла он читает @class
, за которым следуют два объявления протокола.
@class Thing;
@protocol Foo
-(void)foo:(Thing *);
@end;
@protocol Bar
-(void)bar:(Thing *);
@end;
@interface Thing : NSObject <Foo, Bar>
...
Я понимаю, что @class
используется для предотвращения циклических ссылок, однако я не понимаю, что происходит ниже этого. Почему протоколы объявляются там, а не в блоке @interface
?