Ошибка при импорте файла в цель c

0

Это упрощенная структура моего приложения.

ах

#import "B.h"

@interface A : NSObject {

B *b1;

}

Bh

@interface B : NSObject {
}

Это хорошо работает, но теперь мне нужно создать массив As in B, вот что я сделал

ах

#import "B.h"

@interface A : NSObject {

B *b1;

}

Bh

#import "A.h"

@interface B : NSObject {

NSMutableArray *aArray;

}

-(void) addA: (A*) aTemp{
    [aArray addObject:aTemp];
}

-(NSMutableArray*) getArray{
    return aArray;
}

И удивительно, что я получаю ошибку при импорте Ah

Почему это происходит?

Любая подсказка?

благодаря

  • 0
    Какую ошибку вы получили? Вам не нужно импортировать Ah в интерфейсе B, потому что вы не вызываете и объект A. Вы можете переместить его в реализацию B.
  • 0
    Я отредактировал вопрос. Извините, я пытался упростить это, и я слишком упростил :)
Показать ещё 1 комментарий
Теги:
import

2 ответа

0
Лучший ответ

Вы не можете иметь взаимный импорт, как это. Но в этом случае вам не нужен импорт. В Ах достаточно добавить

@class B;

и в Bh вам не нужен импорт.

0

Objective-c dosent допускает круговые зависимости, я думаю, что этот поток является ответом на вашу проблему: поддерживает ли Objective-C круговые зависимости?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню