gpt4 book ai didi

c - 基本的 Objective-C 语法 : "%@"?

转载 作者:太空狗 更新时间:2023-10-30 03:46:58 25 4
gpt4 key购买 nike

我正在研究斯坦福 iPhone 播客并有一些基本问题。

第一:为什么没有简单的字符串连接? (或者我只是想念它?)

我需要以下 NSLog 的帮助,但不知道它当前在做什么(%@ 部分)。您是否只是在需要串联的地方替换它们,然后在末尾用逗号分隔这些值?

NSString *path = @"~";
NSString *absolutePath = [path stringByExpandingTildeInPath];

NSLog(@"My home folder is at '%@'", absolutePath);

而对于任何其他编程语言,我会这样做:

NSLog(@"My home folder is at " + absolutePath);

谢谢! (此外,对于熟悉 Java/C#/etc 风格的语法转换到 Objective-C 的人有什么好的指南/引用吗?)

最佳答案

%@ 是格式字符串中的占位符,用于 NSString 实例。

当你做类似的事情时:

NSLog(@"My home folder is at '%@'", absolutePath);

你告诉 NSLog 将 %@ 占位符替换为名为 absolutePath 的字符串。

同样,如果您放置更多占位符,您可以指定更多值来替换这些占位符,如下所示:

NSString *absolutePath = @"/home/whatever";
NSLog(@"My home #%d folder is at '%@'", 5, absolutePath);

将打印:

My home #5 is at /home/whatever

一种简单的字符串连接方式:

NSString *s1 = @"Hello, ";
NSString *s2 = @"world.";
NSString *s = [NSString stringWithFormat:@"%@%@", s1, s2];
// s will be "Hello, world."

您不能将 + 符号用作字符串连接运算符,因为 Objective-C 中没有运算符重载。

希望对您有所帮助。

关于c - 基本的 Objective-C 语法 : "%@"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2634099/

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