2011-01-24 50 views
0

所以我在Xcode中创建了一个新的iPad目标,这个目标最初只是iPhone的项目。正如苹果推荐的那样,我还创建了iPad特定的视图控制器,并将大部分iphone视图控制器代码复制并粘贴到ipad版本中。问题是我和#defines和enums有很多冲突。iphone/ipad - 两个不同的目标,视图控制器中的冲突

如果我有这样的:

#define birdSize 175 

我宁愿没有在iPad上查看控制器重新定义它:

#define birdSize_iPad 400 

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

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

回答

1

1.)好像你在你的iPad视图控制器中用你的“#define birdSize”导入了头文件。也许间接吗?如果你可以告诉我们你的进口,这将是更容易说...

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

-DIPAD 

那么你就可以轻松拥有birdSize的一个定义的地方,那会是什么样子:

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

也许不是最优雅的方式,但它工作正常,我。

相关问题