I\'m rewriting a Java library in Objective-C and I\'ve come across a strange situation. I\'ve got two classes that import each other. It\'s a circular dependency. Does Objec
Importing a class is not inheritance. Objective-C doesn't allow circular inheritance, but it does allow circular dependencies. What you would do is declare the classes in each other's headers with the @class directive, and have each class's implementation file import the other one's header. To wit:
@class ClassB;
@interface ClassA : NSObject {
ClassB *foo;
}
@end
#import "ClassB.h"
@implementation ClassA
// Whatever goes here
@end
@class ClassA;
@interface ClassB : NSObject {
ClassA *foo;
}
@end
#import "ClassA.h"
@implementation ClassB
// Whatever goes here
@end