gpt4 book ai didi

ios - 如何将 NSString 放入具有多个参数的 NSLog

转载 作者:可可西里 更新时间:2023-11-01 06:19:42 36 4
gpt4 key购买 nike

当我尝试像这样使用 NSLog 时:

NSLog(@"one" @"two" @"three");

这有效并在控制台中打印了 onetwothree。但是当我尝试这样使用时

NSString *s = [NSString stringWithFormat:@"three"];  
NSLog(@"one" @"two" s);

上面的方法不起作用,我得到一个编译时错误“Expected ')'”。我不知道该怎么办。

有什么帮助吗?

附言我正在尝试使用 XcodeColors,我必须像上面那样为 NSLog 提供参数。所以不要像下面那样回答使用它。我知道这行得通。但我必须像上面那样将参数传递给 NSLog。

NSString *s = [NSString stringWithFormat:@"%@ %@ %@", @"one", @"two", @"three"];  
NSLog(s, nil);

编辑:

我可以像这样使用 NSLog 来获得我想要的结果:

NSString *s = @"ss";
NSLog(@"one" @"two" @"%@",s);

这引出了我的另一个问题。我想为 NSLog 制作一个宏。宏看起来像:

LOG_X(val) NSLog(@"xx" @"yy" @"%@",val @"zz")

现在当以下工作时:

LOG_X(@"one")
LOG_X(@"one" @"two" @"three")

但以下不起作用

NSString *s = @"one two three";
LOG_X(s);

它给了我同样的错误“Expected ')'”

最佳答案

如果你想在NSLog中打印出一个NSString变量的内容,你需要把它当作一个格式化的字符串来对待。

所以代替:

NSLog(@"one"@"two"s);

使用:

NSLog(@"one"@"two"@"%@", s);

添加:

您必须在宏的末尾插入逗号和 val。它应该看起来像:

#define LOG_X(val) NSLog(@"xx"@"yy"@"%@"@"zz", val)

关于ios - 如何将 NSString 放入具有多个参数的 NSLog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16879296/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com