gpt4 book ai didi

objective-c - 界面生成器和预处理器

转载 作者:行者123 更新时间:2023-12-03 17:00:07 25 4
gpt4 key购买 nike

在扫描 IBOutlet 引用的源文件时,是否有任何方法可以强制/诱导/鼓励 Interface Builder 运行 C 预处理器?

这是一个棘手的问题,我可以看到,因为在理想的世界中,它需要使用与项目相同的上下文来预处理文件,即使用预编译头等(当 IB 是时,这更有可能起作用)我猜集成到 XCode 中)。

我想要做一些与属性相关的宏技巧。

首先抛开宏的原因(因为除了提供动机之外,它与这个问题并不是特别相关),我最大的绊脚石是 IB 识别 channel 的方式非常简单。如果我使用宏,我无法说服 IB 发现销售点。

例如,如果我想替换:

@property(保留,非原子)IBOutlet UIWindow* 窗口;

使用我的宏,它看起来像这样:

ECPropertyDefine(窗口, UIWindow*, 保留, 非原子);

不幸的是,很明显,默认情况下 IB 不执行任何宏扩展,因此无论我将 IBOutlet 放入宏定义中,还是放入调用宏的参数中,都不知道这是一个 socket 与。

我只是想知道 IB 中是否存在一些不起眼的钩子(Hook),它允许脚本在 IB 扫描源文件时对源文件进行预处理。

最佳答案

据我所知,您尝试做的事情是行不通的。

关于objective-c - 界面生成器和预处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3312951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com