我编写了具有几个日志函数的日志帮助程序类。在 DEBUG 模式下一切正常。但是当我在 Release模式下运行我的代码时,它崩溃了。下面是代码片段:
+ (void)info:(NSString *)format, ...
{
va_list args;
va_start(args, format);
va_end(args);
NSString *formatedMessage = [[NSString alloc] initWithFormat:[NSString stringWithFormat:@"INFO %@",format] arguments:args];
}
如果我设置
Build Setting->optimization level to NONE
在 Release模式下一切顺利。任何将优化级别修复为
的想法Fastest-Smallest
处于 Release模式
最佳答案
您似乎过早调用了 va_end
。尝试:
+ (void)info:(NSString *)format, ...
{
va_list args;
va_start(args, format);
NSString *formatedMessage = [[NSString alloc] initWithFormat:[NSString stringWithFormat:@"INFO %@",format] arguments:args];
va_end(args);
}
关于ios - 使用参数生成 NSString 时在 Release模式下崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43393259/