2011-01-05 97 views
0

我想知道,如果我们#定义这样#defines是否会降低性能?

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

特定功能将使用上述降低性能?

回答

1

编号#define是一个预处理器指令,意味着预处理器在任何地方都可以看到POST_NOTIFICATION符号,它将用[[NSNotificationCenter ...]]代码代替它。

0

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

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