gpt4 book ai didi

objective-c - 如何用变量做 NSLog

转载 作者:行者123 更新时间:2023-12-04 04:39:13 26 4
gpt4 key购买 nike

打印以下内容的正确格式应该是什么*newString ?

NSString *newString = @"Hello this is a string!";
NSLog(@newString);

最佳答案

@符号只是指定一些常见的 Objective-C 对象的简写。 @"..."表示一个字符串(具体是 NSString,与普通的 C 字符串不同),@[...]表示一个数组 ( NSArray ), @{...}表示字典( NSDictionary )。

在第一行,您已经指定了 NSString对象使用 @标志。 newString现在是 NSString实例。在第二行,你可以给它的变量名:
NSLog(newString);
理论上您可以只给出变量名称,但这是一种危险的方法。如 newString有任何格式说明符,您的应用程序可能会崩溃/困惑(或访问它不应该访问的内容),因为 NSLog会尝试读取与格式说明符对应的参数,但这些参数不存在。安全的解决方案是 NSLog(@"%@", newString); . NSLog 的第一个参数现在是硬编码的,无法更改。我们现在知道它将期望一个参数,我们提供该参数,newString ,所以我们是安全的。

因为您已经指定了一个字符串并将该实例传递给 NSLog ,您不需要 @再签。

关于objective-c - 如何用变量做 NSLog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19201729/

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