5

我正在学习objective-C和Cocoa。在我正在研究的 Apple 教程中,有一个旁注说:

IBOutlet是一个空定义的宏,C 预处理器在编译时将其删除。

我很好奇 - 什么是空定义的宏?

4

5 回答 5

8

仅供参考,在这种特殊情况下,IBOutleteven 存在的原因很简单,因为 Interface Builder 可以解析源文件并从中收集一些理解。IBOutlet在设计 UI 时,前面的变量应该在 Interface Builder 中显示为 Outlet,这是一个线索(嗯,比线索强一点) 。

于 2008-08-22T14:15:09.317 回答
8
#define IBOutlet

每当在程序文本中使用 IBOutlet 时,它都将被替换为什么都没有。

于 2008-08-22T09:56:57.750 回答
7

空定义的宏是一个将被预处理器替换为任何内容(将被删除)的宏。它的作用是提示代码中的某些内容,例如:

#定义输入
#定义输出
#define INOUT

int myFunction(IN char *name, INOUT char *address, OUT char *phone);

这个声明表明name是函数的输入变量,address既是输入又是输出,phone是输出变量。

于 2008-09-05T07:09:17.120 回答
0

另外——如果你不确定是如何定义的——命令双击它,Xcode 将打开原始源文件中的定义。

于 2008-09-28T17:12:18.267 回答
0

哦,当我在它的时候。选项双击将(尝试)打开双击符号的文档。

于 2008-09-28T17:13:26.343 回答