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

时间:2013-04-17 05:20:46

标签: objective-c cocoa nsstring compiler-warnings stringwithformat

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

  

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

来自此代码

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

l.text= [spacing stringByAppendingFormat:[mArray objectAtIndex:section]];

为什么,以及如何解决?

1 个答案:

答案 0 :(得分:8)

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

[sArray addObject:subCatName];

l.text= [spacing stringByAppendingString:[mArray objectAtIndex:section]];

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