При изучении программирования iPhone каждый Xcode-шаблон, который я видел, содержит файл AppName-Prefix.pch со следующим содержимым:
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#endif
Я понимаю, что это содержимое файла префикс для каждого из файлов исходного кода перед компиляцией. Однако каждый из других файлов также импортирует UIKit, что кажется излишним. Например, начинается main.m
...
#import <UIKit/UIKit.h>
int main(int argc, char *argv[]) {
...
Cocoa приложения в Mac OS X делают то же самое, импортируя Cocoa.h как в префиксный файл, так и в файлы заголовков.
Почему есть оба? Я удалил директивы #import
из всех исходных файлов, кроме файла префикса, и скомпилировался и работал правильно.