#defines会降低性能吗?

时间:2011-01-05 07:33:31

标签: performance ios4 macros

我想知道,如果我们#define这样的特定功能

#define POST_NOTIFICATION(NAME, OBJECT) [[NSNotificationCenter defaultCenter] postNotificationName:NAME object:OBJECT]

将使用以上降低性能?

2 个答案:

答案 0 :(得分:1)

没有。 #define是一个预处理器指令,意味着预处理器看到POST_NOTIFICATION符号的任何地方,它将用[[NSNotificationCenter ...]]代码替换它。

答案 1 :(得分:0)

不,它不会降低性能。 #define指令是预处理程序指令,在编译之前在代码中被“替换”,因此最终的二进制代码是相同的。 但是你应该避免使用定义...它似乎可以使代码更具可读性,但是它并没有真正做到这一点...同样对于单行,就像在示例中你给出的好处可能并没有那么高的使用它

但是要回答你的问题,如果你使用这个结构,最后的二进制文件没有什么不同,所以没有性能下降。