我想知道,如果我们#define这样的特定功能
#define POST_NOTIFICATION(NAME, OBJECT) [[NSNotificationCenter defaultCenter] postNotificationName:NAME object:OBJECT]
将使用以上降低性能?
答案 0 :(得分:1)
没有。 #define是一个预处理器指令,意味着预处理器看到POST_NOTIFICATION符号的任何地方,它将用[[NSNotificationCenter ...]]
代码替换它。
答案 1 :(得分:0)
不,它不会降低性能。 #define指令是预处理程序指令,在编译之前在代码中被“替换”,因此最终的二进制代码是相同的。 但是你应该避免使用定义...它似乎可以使代码更具可读性,但是它并没有真正做到这一点...同样对于单行,就像在示例中你给出的好处可能并没有那么高的使用它
但是要回答你的问题,如果你使用这个结构,最后的二进制文件没有什么不同,所以没有性能下降。