我很感激理解如何重写这行代码以消除编译器警告。代码是:
if (string == nil)
[NSException raise:NSInvalidArgumentException format:nil];
警告是:
Format not a string literal and no format arguments.
我找到了与NSLog有关的答案,但没有找到NSException。
JAL
答案 0 :(得分:6)
该错误适用于任何需要格式字符串的内容。您只需将nil
替换为@""
,如:
[NSException raise:NSInvalidArgumentException format:@""];
答案 1 :(得分:1)
这是因为编译器需要格式字符串(类型为@“%@”),而不是格式参数的字符串文字(常量字符串)。尝试给一个空字符串@“”它应该工作。
[NSException raise:NSInvalidArgumentException format:@""];
这更好地解释了here