Objective c 删除“;格式字符串不是字符串文字";来自xcode的警告

Objective c 删除“;格式字符串不是字符串文字";来自xcode的警告,objective-c,ios,xcode,lldb,Objective C,Ios,Xcode,Lldb,当我使用XCode时,我(显然)放了一堆NSLog语句来跟踪一些变量和方法的执行情况等。但是,我一直收到以下警告: 格式字符串不是字符串文字(可能不安全)。我明白为什么会出现这种情况,但我也明白这会让我感到厌烦,尤其是当我收到20或30条这样的警告时,更难追踪到真正的错误。特别是因为字符串中的所有内容都是由系统定义的,而不是由用户定义的。有什么方法可以禁用此警告吗?下面是一个导致警告的行的示例 NSLog([@"writeInfo " stringByAppendingString:[self

当我使用XCode时,我(显然)放了一堆NSLog语句来跟踪一些变量和方法的执行情况等。但是,我一直收到以下警告:
格式字符串不是字符串文字(可能不安全)
。我明白为什么会出现这种情况,但我也明白这会让我感到厌烦,尤其是当我收到20或30条这样的警告时,更难追踪到真正的错误。特别是因为字符串中的所有内容都是由系统定义的,而不是由用户定义的。有什么方法可以禁用此警告吗?下面是一个导致警告的行的示例

NSLog([@"writeInfo " stringByAppendingString:[self saveFilePath:temp]]);

NSLog
单独接受格式字符串,您不需要内联创建字符串。换句话说,你只需要写:

NSLog(@"writeInfo %@", [self saveFilePath:temp]);

谢谢,这适用于所有涉及组合两个字符串的NSLog。有没有一种方法可以这样做,比如
NSLog(temp)
或者我必须将它添加到字符串中?使用
NSLog(@“%@”,temp)。Xcode警告您,因为如果
temp
包含
%
,该怎么办<如果使用
temp
作为第一个参数,code>NSLog
会认为它是一个格式说明符。