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