iphone / ipad - 两个不同的目标,视图控制器中的冲突

时间:2011-01-24 03:52:34

标签: iphone xcode ipad targets

因此,我在Xcode中创建了一个新的iPad目标,用于最初仅限iPhone的项目。正如Apple建议的那样,我还创建了iPad特定的视图控制器,并将大部分iphone视图控制器代码复制并粘贴到ipad版本中。问题是我与#defines和enums存在很多冲突。

如果我有这个:

#define birdSize 175

我宁愿不必在iPad视图控制器中重新定义它:

#define birdSize_iPad 400

然后搜索并替换实现中的所有实例。我想改变定义的值,但这会影响iPhone版本。两个问题:

  1. 当这些视图控制器包含在不同的目标中时,为什么会出现冲突?
  2. 处理这种情况的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

1。)您似乎也在iPad视图控制器中使用“#define birdSize”导入头文件。也许间接?如果你能向我们展示你的进口产品,那就更容易说......

2。)我不知道“最好的方式”,但这是我如何解决这个问题: iPad的目标选项 - >构建设置 - > GCC CFLAGS

-DIPAD

然后你可以轻松地在某处找到birdSize的一个定义,如下所示:

#ifdef IPAD
  #define birdSize 400
#else
  #define birdSize 175
#endif

也许不是最优雅的方式,但它对我来说很好。