当扫描IBOutlet引用的源文件时,有没有办法强制/哄骗/鼓励Interface Builder运行C预处理器?Interface Builder和预处理器
这是一个棘手的问题,我可以看到,因为在一个理想的世界中,它需要用与项目相同的上下文来预处理文件,即使用预编译头文件等(这在IB更有可能工作被集成到XCode中我会猜到)。
我有一些与财产有关的宏观欺骗,我想要做。
撇开宏观原因(因为它与这个问题并不特别相关,除了提供动机)之外,我最大的绊脚石是IB在识别出口方面非常简单。如果我使用我的宏,我无法说服IB去点销售点。
例如,如果我想取代:
@property (retain, nonatomic) IBOutlet UIWindow* window;
与我的宏,它会是这个样子:
ECPropertyDefine(window, UIWindow*, retain, nonatomic);
不幸的是,很明显,在默认情况下IB没有按不执行任何宏扩展,因此不知道这是否是一个出口,无论我是否将IBOutlet放入宏定义或放入我称之为宏的参数中。
我只是想知道在IB的某处是否会有一些模糊的钩子,这会让脚本在IB扫描它们时预处理源文件。
是的,反向插入是一个好方法。 在这种情况下可能比实际值得多一点麻烦,但是感谢这个想法。 – 2010-07-22 20:37:54