Objective c 删除“;格式字符串不是字符串文字";来自xcode的警告
当我使用XCode时,我(显然)放了一堆NSLog语句来跟踪一些变量和方法的执行情况等。但是,我一直收到以下警告:Objective c 删除“;格式字符串不是字符串文字";来自xcode的警告,objective-c,ios,xcode,lldb,Objective C,Ios,Xcode,Lldb,当我使用XCode时,我(显然)放了一堆NSLog语句来跟踪一些变量和方法的执行情况等。但是,我一直收到以下警告: 格式字符串不是字符串文字(可能不安全)。我明白为什么会出现这种情况,但我也明白这会让我感到厌烦,尤其是当我收到20或30条这样的警告时,更难追踪到真正的错误。特别是因为字符串中的所有内容都是由系统定义的,而不是由用户定义的。有什么方法可以禁用此警告吗?下面是一个导致警告的行的示例 NSLog([@"writeInfo " stringByAppendingString:[self
格式字符串不是字符串文字(可能不安全)
。我明白为什么会出现这种情况,但我也明白这会让我感到厌烦,尤其是当我收到20或30条这样的警告时,更难追踪到真正的错误。特别是因为字符串中的所有内容都是由系统定义的,而不是由用户定义的。有什么方法可以禁用此警告吗?下面是一个导致警告的行的示例
NSLog([@"writeInfo " stringByAppendingString:[self saveFilePath:temp]]);
NSLog
单独接受格式字符串,您不需要内联创建字符串。换句话说,你只需要写:
NSLog(@"writeInfo %@", [self saveFilePath:temp]);
谢谢,这适用于所有涉及组合两个字符串的NSLog。有没有一种方法可以这样做,比如
NSLog(temp)
或者我必须将它添加到字符串中?使用NSLog(@“%@”,temp)代码>。Xcode警告您,因为如果temp
包含%
,该怎么办<如果使用temp
作为第一个参数,code>NSLog
会认为它是一个格式说明符。