iphone - 如何为多个目标使用不同的 .h 文件?

标签 iphone xcode build header target

我有一个有多个目标的项目。对于我的大多数类(class),我可以使用单个 .h 文件并更改 .m 文件中的详细信息(为每个目标添加不同的 .m 文件)。

对于我的一个 UIViewController 子类,我需要为不同的目标声明不同的 UILabel IBOutlet(每个目标根据可用内容显示一组不同的标签) 。问题是头文件无法定位。它们旁边没有用于指定目标成员资格的复选框。

我处理这个问题的方法是为所有目标添加导出并忽略未使用的目标。看起来不太理想。

我需要为此使用 header 构建阶段吗?处理这个问题的最佳方法是什么?谢谢。

编辑:我应该提到我希望所有 .h 文件具有相同的名称:PlaceViewController.h

最佳答案

您可以使用预处理器指令有选择地包含头文件。例如

#if TARGET_OS
   #import "FirstTarget.h"
#else
   #import "SecondTarget.h"
#endif

如果标题名称相同,您可以为不同的目标使用不同的文件夹:

#if TARGET_OS
   #import "First/Target.h"
#else
   #import "Second/Target.h"
#endif

您可以阅读有关条件的更多信息 here .

关于iphone - 如何为多个目标使用不同的 .h 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3337387/

相关文章:

c++ - 构建简单 Qt5 应用程序时出错

iphone - 在设备上录制时收到 ConvertInput 使用无效 anchor 时间错误

iphone - 如何从 nsarray 中消除空值?

xcode - Electron-builder 反复请求 macOS 钥匙串(keychain)权限

svn - 如何将 Subversion 用于非编译语言?

c - 这个错误是什么意思: `somefile.c:200: error: the frame size of 1032 bytes is larger than 1024 bytes` ?

iphone - 旧显示在模态视图 Controller 后下移问题

iphone - 在Objective-C中替换字符串中的多个字符?

c++ - 删除指针后,它仍然可以在 Mac OS X 中使用 Xcode 在 C++ 中工作

iphone - 为什么我的文件不移动到 "en.lproj",而是移动到 Xcode 中 "English.lproj"之后的新 "Make file Localizable"?