"格式字符串不是字符串文字(可能不安全)"

Ram*_*Ram 1 cocoa objective-c compiler-warnings nsstring stringwithformat

我正在使用Xcode 4.6.我的应用程序正在使用设备和模拟器,但在构建时我收到警告:

"格式字符串不是字符串文字(可能不安全)"

从这段代码

[sArray addObject:[NSString stringWithFormat:subCatName]];

l.text= [spacing stringByAppendingFormat:[mArray objectAtIndex:section]];
Run Code Online (Sandbox Code Playgroud)

为什么,我该如何解决?

rma*_*ddy 8

由于您实际上没有格式化字符串,请执行以下操作:

[sArray addObject:subCatName];

l.text= [spacing stringByAppendingString:[mArray objectAtIndex:section]];
Run Code Online (Sandbox Code Playgroud)

出于某种原因,这NSString stringWithFormat:是我在SO上看到的最过度使用的方法之一.它只应在实际格式化一个或多个变量放入最终字符串的字符串时使用.

  • 为"最过度使用的方法之一"+1! (4认同)
  • @MartinR我很想知道这种过度使用的来源.必须有一些错误地教它使用的在线课程或书籍. (2认同)