iOS: что может заставить компилятор Xcode генерировать ошибки, когда я включаю свой AppDelegate.h в другой заголовочный файл? - PullRequest
0 голосов
/ 02 апреля 2012

Я пытаюсь #import моего "AppDelegate.h" в другой заголовочный файл того же проекта для доступа к методам AppDelegate моего проекта iOS.

Итак, мой заголовочный файл выглядит примерно так: #import

#import "DataProvider.h"
#import "MyAppDelegate.h"

@interface MyViewController : UIViewController <UITextFieldDelegate, UIAlertViewDelegate> {
...
}

и я хочу использовать свой AppDelegate следующим образом:

MyAppDelegate* appDelegate = (MyAppDelegate*)[UIApplication sharedApplication].delegate;
[appDelegate doSomething];

Однако, как только я #import "MyAppDelegate.h", компилятор выдает много (не связанных) ошибок, таких как

Cannot find interface declaration for 'MyOtherViewController', superclass of 'MyOtherViewController2' 

Дело в том, что мой AppDelegate может отлично включаться в другие заголовки. И я не могу понять, в чем может быть разница. Пожалуйста, помогите мне выяснить, что может вызвать это! Большое спасибо!

PS: это происходит как с GCC, так и с новым LLVM.

1 Ответ

5 голосов
/ 02 апреля 2012

Переместить #import в файл .m.Если вам нужен символ MyAppDelegate в вашем .h, используйте @class MyAppDelegate;.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...