格式不是字符串文字

时间:2011-06-03 05:30:18

标签: ios

我很感激理解如何重写这行代码以消除编译器警告。代码是:

if (string == nil)
        [NSException raise:NSInvalidArgumentException format:nil];

警告是:

Format not a string literal and no format arguments.

我找到了与NSLog有关的答案,但没有找到NSException。

JAL

2 个答案:

答案 0 :(得分:6)

该错误适用于任何需要格式字符串的内容。您只需将nil替换为@"",如:

[NSException raise:NSInvalidArgumentException format:@""];

答案 1 :(得分:1)

这是因为编译器需要格式字符串(类型为@“%@”),而不是格式参数的字符串文字(常量字符串)。尝试给一个空字符串@“”它应该工作。

[NSException raise:NSInvalidArgumentException format:@""];

这更好地解释了here