我想知道,如果我們#定義這樣#defines是否會降低性能?
#define POST_NOTIFICATION(NAME, OBJECT) [[NSNotificationCenter defaultCenter] postNotificationName:NAME object:OBJECT]
特定功能將使用上述降低性能?
我想知道,如果我們#定義這樣#defines是否會降低性能?
#define POST_NOTIFICATION(NAME, OBJECT) [[NSNotificationCenter defaultCenter] postNotificationName:NAME object:OBJECT]
特定功能將使用上述降低性能?
編號#define是一個預處理器指令,意味着預處理器在任何地方都可以看到POST_NOTIFICATION符號,它將用[[NSNotificationCenter ...]]
代碼代替它。
不,它不會降低性能。 #define指令是預處理指令,它們在編譯之前在代碼中被「替換」,所以最終的二進制代碼是相同的。 然而,你應該避免使用定義...它似乎可以使代碼更具可讀性,但它並沒有真正做到這一點......另外對於像例子中的單行你給予的好處可能不是那麼高用它。
但是要回答你的問題,如果你使用這個構造,最終的二進制文件並沒有不同,所以沒有性能下降。