gpt4 book ai didi

objective-c - 静态变量的初始化顺序

转载 作者:行者123 更新时间:2023-12-03 20:57:55 25 4
gpt4 key购买 nike

我试图确认 Objective-C 中的静态变量初始化是否与 C++ 中的一样。具体来说,静态变量是否有可能在调用 main() 之前实例化/创建?

最佳答案

Objective-C 中没有静态变量实例化的概念。例如

// file level
NSMutableArray* foo = [[NSMutableArray alloc] init];

不允许。它与 C 中相同:只能用常量初始化静态变量。对于 Objective-C 对象,这意味着 nil 或文字字符串。

在 Objective-C++ 中,您可以做到这一点,并且它们在 main() 之前调用。它只是遵循 Objective-C++ 规则中的 C++ 部分。

当您想要初始化与 Objective-C 中的类关联的对象时,可以使用 +initialize+load。看这个nice blog article .

关于objective-c - 静态变量的初始化顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3588970/

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