在这一行代码中:
NSInteger答案= 3; NSString * s = [NSString stringWithFormat:@“%ld”,answer];
在Xcode 10.3中,在调试版本下没有错误。 在发布版本下,我收到此错误:
'NSInteger'类型的值不应用作格式参数;加 显式转换为'long'而不是[-Werror,-Wformat]
我理解错误的原因,我也应该将答案强制为(long),如果我以@“%d”开头,编译器将抱怨并解决问题。但是当ld出现时,调试版本中的编译器保持安静,但在发行版本中它引发一个标志。
有什么想法会导致这种情况发生?
谢谢!