是否可以在Objective-C中创建自定义指令?

是否可以在Objective-C中创建自定义指令?,第1张

概述Objective-C有如下指令: > @interface > @implementation > @end > @protocol > @property > @synthesize 我认为这些东西就像复杂的marco或代码生成器.是否可以为代码生成目的创建自定义指令?一种可能的用途是为CoreData生成方法. 我没有想到,因为我从来没有见过任何关于它的东西,但我的世界不是世界. 后续问题: Objective-C有如下指令:

> @interface
> @implementation
> @end
> @protocol
> @property
> @synthesize

我认为这些东西就像复杂的marco或代码生成器.是否可以为代码生成目的创建自定义指令?一种可能的用途是为CoreData生成方法.

我没有想到,因为我从来没有见过任何关于它的东西,但我的世界不是世界.

后续问题:

Jonathan在下面提到可以编写自己的预处理器,这就引出了问题.目前,#define SYMBOliC_CONSTANT 102将在文件移动到编译器之前用文件中的字符102替换字符SYMBOliC_CONSTANT的所有实例.

我知道XCode你可以在Targets构建过程中添加“Run Script Phase”.因此,我可以编写一个脚本来查找我的自定义预处理指令,如’$coredata’,然后让脚本生成一个新文件,其中字符$coredata替换为某些代码字符.但根据我对XCode构建过程的理解,您无法将更改的文件提供给编译器源代码阶段.这些文件由IDE指定并锁定.

有没有人做过类似的事情?我知道外部构建系统是可能的,但说实话,我不是那种理解水平.我不知道Build and Run按钮的技术细节.

与此同时,我将开始阅读Apple的XCode文档……

谢谢你的回复!

解决方法 你的想法是正确的:你的代码中不可能这样做.添加更多@ -directives的唯一方法是通过编译器本身.即使你遇到了所有麻烦,我几乎可以保证语法突出显示对它们的支持被硬编码到某个地方的 Xcode配置文件中.

哦,如果你考虑使用预处理器宏,我的理解是@字符在预处理器宏中是非法的.

编辑:我跑了一个测试,我是对的.在C预处理器宏中使用@字符是非法的.它们遵循与变量名称相同的规则.

总结

以上是内存溢出为你收集整理的是否可以在Objective-C中创建自定义指令?全部内容,希望文章能够帮你解决是否可以在Objective-C中创建自定义指令?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1242638.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存