gpt4 book ai didi

objective-c - Objective-C 中的静态 NSString

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

我经常在类实例方法中看到这样的代码片段:

static NSString *myString = @"This is a string.";

我似乎无法弄清楚为什么会这样。这只是仅限于方法范围的 #define 的 objc 等价物吗?我(认为)我理解变量的静态性质,但更具体地说是关于 NSStrings,为什么不分配、初始化它?

谢谢~

最佳答案

我认为这个问题有两个不相关的部分。

一个是为什么它没有被分配和初始化。答案是,当您编写 @"foo" 形式的 Objective-C 字符串文字时,Objective-C 编译器将为您创建一个 NSString 实例。

另一个问题是static 修饰符的作用。它的作用与在 C 函数中的作用相同,确保每次使用该方法时 myString 变量都相同(即使在不同的对象实例之间)。

#define 宏是完全不同的东西:它是源代码的“编程剪切和粘贴”,在代码到达编译器之前执行。

关于objective-c - Objective-C 中的静态 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2888217/

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