Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么不在标准XCODEM模板中导入基础?h? 我注意到,当我在XCODE(基于视图的应用程序、基于窗口的应用程序等)中使用标准模板创建iPhone应用程序时,头文件只导入UIKIT.H(而不是Buff.h)。因此,如果不导入基础文件.h文件,如何在程序中使用NSString、NSrar等基础类?它不应该抛出一个错误吗_Iphone_Objective C_Xcode_Ios - Fatal编程技术网

为什么不在标准XCODEM模板中导入基础?h? 我注意到,当我在XCODE(基于视图的应用程序、基于窗口的应用程序等)中使用标准模板创建iPhone应用程序时,头文件只导入UIKIT.H(而不是Buff.h)。因此,如果不导入基础文件.h文件,如何在程序中使用NSString、NSrar等基础类?它不应该抛出一个错误吗

为什么不在标准XCODEM模板中导入基础?h? 我注意到,当我在XCODE(基于视图的应用程序、基于窗口的应用程序等)中使用标准模板创建iPhone应用程序时,头文件只导入UIKIT.H(而不是Buff.h)。因此,如果不导入基础文件.h文件,如何在程序中使用NSString、NSrar等基础类?它不应该抛出一个错误吗,iphone,objective-c,xcode,ios,Iphone,Objective C,Xcode,Ios,它将导入项目中的预编译头文件(扩展名.pch) #ifdef __OBJC__ #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> #endif #ifdef_uuobjc__ #进口 #进口 #恩迪夫 至于为什么UIKit.h似乎每个文件都有两行导入,因为上面也显示了它,不过我不太确定。不管怎么说都不要紧,因为第二版导入> 行不会再次包含UIKit,如果它已经包含在预编译头文件中。 如果

它将导入项目中的预编译头文件(扩展名
.pch

#ifdef __OBJC__
    #import <Foundation/Foundation.h>
    #import <UIKit/UIKit.h>
#endif
#ifdef_uuobjc__
#进口
#进口
#恩迪夫

至于为什么
UIKit.h
似乎每个文件都有两行导入,因为上面也显示了它,不过我不太确定。不管怎么说都不要紧,因为第二版<代码>导入> <代码>行不会再次包含UIKit,如果它已经包含在预编译头文件中。

如果你查看一些单独的UIKIT标题,它们会导入基础。正如BoltClock所指出的,它也在standard.pch中

可以将其放置在所有这些位置的原因如下所述:

此指令与#include相同,只是它确保同一文件不会被多次包含。因此,在整个基于Objective-C的文档中,它是首选的,并被用来代替#包含在代码示例中


<>你要确保每个需要访问基础定义的符号的文件都有它们。重复的原因是它有助于阅读和理解代码;它说“此代码依赖于此头文件中的内容”。

看起来模板文件设计用于使用或不使用预编译头文件,因此它们导入使用的头文件。如果创建
NSObject
的子类,模板文件将导入
Foundation
。如果创建
UIKit
对象的子类,将导入
UIKit
标题

好的,那么当只导入
UIKit
时,为什么可以使用
Foundation
类,比如
NSString
。几乎所有的
UIKit
标题都导入
Foundation.h


希望这是有意义的。

那么UIKit/UIKit.h也会导入到预编译头中。为什么它会再次导入到我们的头文件中?