我正在学习Objective-C和Cocoa。 在Apple教程中,我正在编写一份附注说:

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

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

===============>>#1 票数:8

#define IBOutlet

每当在程序文本中使用IBOutlet时,它将被替换为任何内容。

===============>>#2 票数:8

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

===============>>#3 票数:7

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

#define IN
#define OUT
#define INOUT

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

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

===============>>#4 票数:0

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

===============>>#5 票数:0

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

  ask by translate from so

未解决问题?本站智能推荐:

2回复

定义一个宏来替换代码

我正在使用TestFlight,并且已经有了此宏来替换NSLog(等效于TestFlight远程日志记录)。 我刚刚从TestFlight网站复制并粘贴了此内容,现在我想为稍微不同的目的创建自己的内容。 我希望能够输入... ...并将其解释为... 我只是不确定语
1回复

DEBUG宏在哪里定义?

当我运行如下代码时: 我看到日志中打印了“debug”,但我没有明确定义DEBUG 。 它在哪里定义?
1回复

#define宏重新定义

您能帮我避免此警告吗 : 重新定义了'kFontFromFontSize'宏 在Gameconfig.h中
2回复

定义宏期望表达问题

我想创建一个宏来修剪我的字符串。 我使用下面的代码进行修整: 但是,如果我按如下所示创建宏,则会出现错误: 预期表达式 如何正确创建相同的定义宏?
2回复

Xcode 5.0 XCTest:宏'NULL'的模糊扩展

我正在使用Xcode 5.我有一个OS X Framework / iOS静态库项目,其中混合的ObjC / C ++代码和语言方言设置为C11 / C ++ 11。 我添加了一个使用XCTest的Cocoa Unit Testing Bundle目标,我为iOS静态库和OS X框架创建了
2回复

访问预处理程序宏定义的值

如果我在GCC_PREPROCESSOR_DEFINITIONS(或预处理器宏,如果你使用XCode)下添加一个宏“FOO = bar”,那么访问“FOO”值的最佳方法是什么? 目前,我使用笨拙的: 这将输出“bar” 当然,必须有更好/更清洁的方式?
6回复

如何定义预处理器宏来检查iOS版本

我用它来检查iOS版本,但它不起作用: 我做的时候 什么都没发生。 这里有问题吗?
2回复

为可与其他对象一起使用的属性定义宏?

是否可以为设置多个对象的诸如backgroundColor之类的属性定义宏? 例如: 这样我就可以在以下情况下使用它:
1回复

在Objective-C中取消定义一个宏

如何在Objective-C中取消定义宏? 我有自动定义宏的情况,但我想手动取消定义。 我该怎么做呢?
1回复

自定义日志记录宏不接受多个参数

我创建了一个自定义日志记录类,将某些内容记录到文件中。 我正在尝试创建一个宏,以便我可以像NSLog()一样使用我的自定义类,但它似乎没有正常工作。 这是我如何定义宏: logText:声明如下: 如果我只传递一个参数,它可以正常工作。 像这样: 但如果我通过另