在Objective-C中定义全局可访问的字符串

时间:2010-08-16 20:35:08

标签: objective-c string global-variables

定义全局可访问字符串的最佳方法是什么?

我看到整数通常都是这样的 #define easy 0

但是,如何为NSString模拟呢? 我试过静态NSString *BACKGROUND = @"bg.png";
虽然这项工作,它确实发出警告说变量从未使用过。 (我将所有这些都放在.h文件中)

执行NSString *const BACKGROUND = @"bg.png";更糟糕,因为我在导入文件时会说重复变量。

我发现#define BACKGROUND @"bg.png"似乎也有效。

所以我想我什么时候使用#defineconst& static

谢谢,
三通

2 个答案:

答案 0 :(得分:43)

这是正确的方法。制作一些新的空白.h文件和.m文件。在你的.h文件中:

extern NSString* const BACKGROUND;

在您的.m文件中:

NSString* const BACKGROUND = @"bg.png";

答案 1 :(得分:6)

您可能需要考虑使用property list来存储字符串。这使您的代码可以保持灵活性,以便将来更新,尤其是在您添加对本地化的支持时。