У меня есть два класса, которые ссылаются друг на друга, и поэтому требуется предварительное объявление, чтобы избежать циклических ссылок. Из-за прямого объявления я получаю всевозможные предупреждения при попытке обратиться к имени класса или свойствам класса, который имеет прямое объявление. Какие-либо предложения? Ключевое ограничение - мне нужно сохранить возможность ссылаться на классы друг друга
ClassA.h
#import "ClassB.h"
@interface ClassA : NSObject {
ClassB *class_b;
}
@end
ClassB.h
@class ClassA;
@interface ClassB : NSObject {
ClassA *class_a;
}
@end
ClassB.m
#import "ClassB.h"
@implementation ClassB
-(void)method{
}
- (id)init
{
(self = [super init]);
class_a = [[ClassA alloc] init];
return self;
}
@end
Я получаю следующее предупреждение:
ClassB.m:13: warning: receiver 'ClassA' is a forward class and corresponding @interface may not exist