Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.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
Objective c 在方法定义和实现中使用宏_Objective C_Ios - Fatal编程技术网

Objective c 在方法定义和实现中使用宏

Objective c 在方法定义和实现中使用宏,objective-c,ios,Objective C,Ios,我想知道在iOS中为一个项目中的多个目标开发时,您使用的最佳实践是什么。我有一个类似的例子。h: (target1和targetX是预处理器宏) 有时我会使用这样的东西(在.m中): 我这样做对吗?谢谢。您的问题的简短答案是肯定的,只要一个目标定义了-Dtarget1=1,而另一个目标定义了-DtargetX=1,那么您就做对了 如果已将其他编译器标志添加到一个目标,例如: -Dtarget1=1 然后在内部编码: #if target1 // code specific to tar

我想知道在iOS中为一个项目中的多个目标开发时,您使用的最佳实践是什么。我有一个类似的例子。h:

(target1和targetX是预处理器宏)

有时我会使用这样的东西(在.m中):


我这样做对吗?谢谢。

您的问题的简短答案是肯定的,只要一个目标定义了
-Dtarget1=1
,而另一个目标定义了
-DtargetX=1
,那么您就做对了

如果已将其他编译器标志添加到一个目标,例如:

-Dtarget1=1
然后在内部编码:

#if target1
    // code specific to target1
#endif
将成为已编译应用程序的一部分

如果你有国旗:

-Dtarget1=0
然后里面的任何东西:

#if target1
    // code specific to target1
#endif
不会是已编译应用程序的一部分

使用多个目标时,您可以执行以下操作:

#if target1
    // code specific to target1
#elif targetX
    // code specific to targetX
#endif
#if target1
    // code specific to target1
#endif
#if target1
    // code specific to target1
#elif targetX
    // code specific to targetX
#endif