我正在处理的项目存储一些像这样的常量字符串:(.
h)
extern NSURL *kURLLocationComputer;
我需要将它们初始化如下:(.
mm)
NSURL *kURLLocationComputer;
... {
kURLLocationComputer = [[NSURL alloc] initWithString:@"computer:///"];
... }
问题是它们在项目的许多不同的地方被使用,并且它们需要首先被初始化。但是由于一些初始化很复杂(不是恒定的),它们不能内联完成。
我应该如何确保它们在使用前被初始化?我正在考虑添加一个虚拟类并初始化 中的变量+load
,但我认为不允许有人假设 Cocoa 库类在那时正在工作。