2015-12-30 69 views
0

編輯:我爲什麼可以導入沒有在.m文件

我終於發現,我導入其對於JSONModel.h文件間接進口的頭文件。


今天我試了AppCode,它給了我一些暗示,一些導入是無用的。

我發現似乎[JSONModel][1]的某些子類可以在實現文件(.m文件)中省略自己頭文件的import語句併成功編譯。

例如:

TestModel.h

#import "JSONModel.h" 

@interface TestModel : JSONModel 

+ (JSONKeyMapper *)keyMapperWithJsonToModelDic:(NSDictionary *)jsonToModelDic; 

@end 

TestModel.m

@implementation TestModel 

+ (JSONKeyMapper *)keyMapperWithJsonToModelDic:(NSDictionary *)jsonToModelDic { 
    return jsonToModelDic; 
} 

@end 

所以我什麼時候可以省略import語句?

謝謝。

回答

4

由於前綴頭文件ProjectName-Prefix.pch)其中包含必要的系統頭文件並由Xcode應用於所有實現文件。

+0

你對前面的例子說得對!但還有其他一些情況不由prefix.pch文件處理。請參閱我的修改。 –

+0

你太棒了!我終於找到了我有其他頭文件間接導入頭文件。 –

相關問題