Objective c 目标C警告
我是objective-c的新手,很难理解以下代码块的警告消息:Objective c 目标C警告,objective-c,warnings,Objective C,Warnings,我是objective-c的新手,很难理解以下代码块的警告消息: void PrintPathInfo() { NSString *path = @"~"; NSString *message = @"My home folder is: "; NSLog([message stringByAppendingString: [path stringByExpandingTildeInPath]]); } 这是我在最后一行收到的警告消息(调用NSLog): 有人能澄
void PrintPathInfo() {
NSString *path = @"~";
NSString *message = @"My home folder is: ";
NSLog([message stringByAppendingString: [path stringByExpandingTildeInPath]]);
}
这是我在最后一行收到的警告消息(调用NSLog):
有人能澄清一下吗?这是我应该关注的警告信息吗
谢谢。如果您想将输出写入nslog,您需要以下内容:
NSLog(@"My home folder is %@",[path stringByExpandingTildeInPath]);
NSLog(@"%@%@", message, [path stringByExpandingTildeInPath]);
您的代码应该可以正常工作,但如果传递的字符串中有任何“%”格式字符,则可能会出现错误行为—这可能会混淆NSLog。例如,尝试将其交换到代码中:
NSString *message = @"My home %folder is: ";
NSLog将以错误的方式解释“%f”
您可以通过使用带格式的字符串文字并传入字符串来避免警告(和危险),如下所示:
NSLog(@"My home folder is %@",[path stringByExpandingTildeInPath]);
NSLog(@"%@%@", message, [path stringByExpandingTildeInPath]);
您也可以检查此链接:
祝你好运