如何在iPhone中导入一些标题,在iPad中导入不同的标题

如何在iPhone中导入一些标题,在iPad中导入不同的标题,iphone,cocoa-touch,Iphone,Cocoa Touch,我需要导入此标题 #import "NumberKeypadDecimalPoint.h" 但前提是该设备是iPhone。我怎么能这样做 该应用程序是通用的 我试过了,但没用 #define iPad UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad #if iPad #import "NumberKeypadDecimalPoint.h" #end 谢谢你不能那样做。要理解原因,您必须了解通用应用程序(和C编译器)的工作原理 首

我需要导入此标题

#import "NumberKeypadDecimalPoint.h"
但前提是该设备是iPhone。我怎么能这样做

该应用程序是通用的

我试过了,但没用

#define iPad    UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad
#if iPad
#import "NumberKeypadDecimalPoint.h"
#end

谢谢你不能那样做。要理解原因,您必须了解通用应用程序(和C编译器)的工作原理

首先,
#if
#define
等是在编译阶段早期调用的预编译器宏。它们通常用于编写可跨平台编译的可移植代码。例如:

# ifdef __ANDROID__
#   include <GLES/gl.h>
#   include <GLES/glext.h>
# else // iOS
#   include <OpenGL/OpenGL.h>
#   include <OpenGL/gl.h>
#   include <OpenGL/glext.h>
# endif
\ifdef\uu ANDROID__
#包括
#包括
#else//iOS
#包括
#包括
#包括
#恩迪夫
然而,通用应用程序只是可以在多种设备类型上运行的二进制文件。因此,在iPhone和iPad上运行的代码是由同一个编译过程生成的(这与用于在一个应用程序中支持多个CPU类型的fat二进制文件不同,这些应用程序实际上在一个应用程序二进制文件中包含来自多个编译过程的代码)

由于只能在运行时确定设备类型,因此必须在运行时执行设备类型检查