您的位置:首页 > 移动开发

解决编译时出现的警告:format string is not a string literal (potentially insecure)

2012-10-21 23:08 1406 查看
   转载自:http://www.cocoachina.com/bbs/read.php?tid=87645

       在Xcode 4.2(iOS 5)之前,我猜大家都和我一样很喜欢下面的调试输出写法:

?
但是在Xcode 4.2(iOS 5)之后,貌似苹果更新的编译器,出了支持ARC的Apple LLVM compiler 3.0。然后我发现每次编译,以前的这些输出都会产生一个warning(警告,黄色三角形)。
在StackOverflow和iPhone Dev SDK查找相关答案之后,发现在最新版的编译器里面NSLog为了安全,只接受格式化的字符串,因为NSLog底层也是用printf来格式化输出的。
所以上面的写法都会给出警告,可以把上面的写法修改为以下合法模式:

?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐