我想定义一个包含用户名的常量文件路径(例如 /Users/username/Desktop
...在我的具体情况下,它是我在 /var/spool 创建的目录/FolderICreate/用户名
)。
声明此常量以便我的其他类可以识别它的最佳方式是什么?我目前有一个 globals.h 文件,用于包含需要查看全局变量的类,但我不确定如何设置该值。 #define 显然需要一个硬编码的字符串文字,我不确定是否可以或如何使用 extern const NSString* 设置字符串。我觉得这应该不难,但我很茫然。
-- 编辑--
正如人们正确指出的那样,我的代码是不必要的,因为我可以使用 NSUserName
等获取用户名,所以我将其删除。但我认为人们没有捕获我问题的重点。我可以看到有多种方法可以获取我想要的路径名——如何将其声明为常量?
最佳答案
对于您修改后的问题,正如凯林指出的那样,您不需要一个常量。 C 中的常量是在编译时定义的东西,并且您在编译时不知道其值是什么。
您不需要变量来解决此问题。你想要一个静态函数。 Foundation 提供了许多与您想要的类似的功能。如果您想要其他东西,请创建自己的静态函数 MYDirectoryForStuff()
。
不要创建非常量全局变量。那就是疯狂。然后,您必须在使用它们之前验证它们是否已初始化,这会导致各种微妙的错误。如果您使用静态函数,那么它可以很容易地进行自初始化。
关于objective-c - 在 Obj-C 中使用用户名定义全局常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11569084/