Вот еще один примерчик.
Есть 2 класса, файлы объявления такие:
Objective-C
#import "test2.h"
@protocol test1Delegate <NSObject>
-(void)test1Method;
@end
@interface test1 : NSObject <test2Delegate>
{
test2 *testObject2;
}
@end;
Objective-C
#import "test2.h"
@protocol test2Delegate <NSObject>
-(void)test2Method;
@end
@interface test2 : NSObject <test1Delegate>
{
test1 *testObject1;
}
@end;
Программа не запуститься с таким кодом. Почему? И как исправить?
По моим соображениям, программа не запуститься потому что для работы с NSObject нужно обязательно подключить #import <Foundation/Foundation.h>. Второе, поменять в первом файле в объявлении класса в угловых скобках название протокола с test2Delegate на test1Delegate и поменять тип переменной с test2 на test1. За тем, аналогичным образом, сделать тоже самое во втором файле.
Поправьте меня если не так.