记录变量值
你不应该在没有像这样的文字格式字符串的情况下调用 NSLog:
NSLog(variable); // Dangerous code!
如果变量不是 NSString,程序将崩溃,因为 NSLog 需要一个 NSString。
如果变量是 NSString,它将起作用,除非你的字符串包含%。NSLog 将解析%序列作为格式说明符,然后从堆栈中读取垃圾值,导致崩溃甚至执行任意代码 。
相反,始终将第一个参数设为格式说明符,如下所示:
NSLog(@"%@", anObjectVariable);
NSLog(@"%d", anIntegerVariable);