什么是"空定义的宏"?
时间:2020-03-05 18:41:56 来源:igfitidea点击:
我正在学习Objective-C和可可粉。在Apple教程中,我正在做一个附带说明:
IBOutlet is a null-defined macro, which the C preprocessor removes at compile time.
我很好奇什么是空定义的宏?
解决方案
回答
#define IBOutlet
每当在程序文本中使用IBOutlet时,它将完全不替换。
回答
仅供参考,在这种特殊情况下,IBOutlet
甚至存在的原因仅仅是为了让Interface Builder可以解析源文件并从中收集一些理解的信息。在设计UI时,有一个线索(很好,比线索要强一些),即在IBOutlet之前的变量应该在Interface Builder中显示为Outlet。
回答
空定义的宏是一个将被预处理器替换为任何东西(将被删除)的宏。它的作用是为代码中的某些内容提供提示,例如:
#define IN #define OUT #define INOUT int myFunction(IN char *name, INOUT char *address, OUT char *phone);
该声明表明"名称"是函数的输入变量,"地址"既是输入也是输出,"电话"是输出变量。
回答
另外,如果不确定如何定义命令,请双击该命令,Xcode将在原始源文件中打开定义。
回答
哦,而我在这。双击选项将(尝试)打开双击符号的文档。