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:
ClassA.h
@class ClassB;
@interface ClassA : NSObject {
ClassB *foo;
}
@end
ClassA.m
#import "ClassB.h"
@implementation ClassA
// Whatever goes here
@end
ClassB.h
@class ClassA;
@interface ClassB : NSObject {
ClassA *foo;
}
@end
ClassB.m
#import "ClassA.h"
@implementation ClassB
// Whatever goes here
@end