我有一个项目,我称之为'Keys.h'
在该文件中,我声明了在整个项目中使用的字符串和整数,其中一些是整数,其中一些是字符串。
所有字符串都可以正常工作;但是,如果我使用整数,我会得到一个未使用的变量警告。
对于字符串,(lfPrefs是用户首选项的字典)
static NSString * kUserLFPrefs = @"lfPrefs";
这样可以正常工作,并且不会产生任何错误。
对于一个整数,(我有一个整数来定义当前模式,因为它似乎比一直比较字符串更快)。
static int kModeLiveFeed = 1001;
static int kModeEventFeed = 2002;
这些工作正常,只是它们显示未使用的实体警告。
我更喜欢在字符串上使用整数,主要是因为我读到比较更快,占用更少的内存等等。
我的问题是如何在仍然可以访问我的整数键时停止警告?
(或者,我应该只使用字符串)
答案 0 :(得分:1)
我可以建议两种不同的方法。
如果你想将这些变量保存在.h文件中,你可能更喜欢使用define,如果你不会改变值的运行时间,就像;
#define kModeLiveFeed 1001
如果要更改变量值运行时,我建议将它们保存在.m文件而不是.h文件中,并使用单例创建.m文件的一个实例。然后,即使您继续从.m文件收到警告,也可以通过以下步骤禁用它:
我希望它有所帮助。
答案 1 :(得分:1)
您可能误解了C / Objective-C中static
的含义(this question应该有帮助)。您应该使用const
而不是static
来定义常量,并且应该在.m
文件中定义整数/字符串常量的值,并在{{1}中使用相应的声明文件。或者更好的是,如果你有一组相关的整数常量,请使用.h
。
Here是Apple关于常量的文档,其中包括上述信息以及命名建议(例如,enum
优于经典Mac OS风格的PRConstant
)。