![]() |
1
8
一般来说,最好避免使用宏,但对于
为了
|
![]() |
2
4
NSLocalizedString是一个方便的宏,可能是一个函数。 然而,除了Georg的答案中给出的宏之外,NSAssert和friends是宏的原因还有很多。NSAssert计算布尔表达式以确定是否应引发异常。这个布尔表达式在计算上可能非常昂贵,并且不是您希望在发布代码中发生的那种事情。在C中(因此Objective-C)没有一种机制可以忽略发布版本的正常函数调用,而无需求助于预处理器或使用以下内容:
NSAssert宏的另一个优点是可以将条件字符串化,以便在日志消息中使用。 |
![]() |
Imad Hamaidi · 如何使预处理器宏在编译之前对代码求值 2 年前 |
![]() |
Lightsout · 用于填充表的sql连接压缩行 2 年前 |
![]() |
Rogue258 · 在DB2SQL中使用存储过程/宏进行声明和循环 2 年前 |
![]() |
allthem · 将VBA设置为仅在第一次打开电子表格时自动运行 3 年前 |
![]() |
user306080 · 下面的宏在做什么? 3 年前 |
![]() |
Xev · 运行时错误91:对象变量或未设置块 3 年前 |
![]() |
digital illusion · 请参阅宏扩展中的外部板条箱 3 年前 |
![]() |
Aleph · 标识符在C预处理器指令中的作用是什么 3 年前 |
![]() |
Gakuo · 使用lisp循环宏进行高级循环 6 年前 |