清除xCode中静态Int的未使用实体警告

时间:2013-10-20 23:34:01

标签: ios objective-c xcode static int

我有一个项目,我称之为'Keys.h'

在该文件中,我声明了在整个项目中使用的字符串和整数,其中一些是整数,其中一些是字符串。

所有字符串都可以正常工作;但是,如果我使用整数,我会得到一个未使用的变量警告。

对于字符串,(lfPrefs是用户首选项的字典)

static NSString * kUserLFPrefs = @"lfPrefs";

这样可以正常工作,并且不会产生任何错误。

对于一个整数,(我有一个整数来定义当前模式,因为它似乎比一直比较字符串更快)。

static int kModeLiveFeed = 1001;
static int kModeEventFeed = 2002;

这些工作正常,只是它们显示未使用的实体警告。

我更喜欢在字符串上使用整数,主要是因为我读到比较更快,占用更少的内存等等。

我的问题是如何在仍然可以访问我的整数键时停止警告?

(或者,我应该只使用字符串)

2 个答案:

答案 0 :(得分:1)

我可以建议两种不同的方法。

如果你想将这些变量保存在.h文件中,你可能更喜欢使用define,如果你不会改变值的运行时间,就像;

#define kModeLiveFeed 1001

如果要更改变量值运行时,我建议将它们保存在.m文件而不是.h文件中,并使用单例创建.m文件的一个实例。然后,即使您继续从.m文件收到警告,也可以通过以下步骤禁用它:

  • 从左侧导航器中选择项目以打开项目设置视图。
  • 然后,选择您的目标。
  • 转到“构建阶段”选项卡并打开“编译资源”区域。
  • 单击.m文件的右侧,将编译器标志添加为-w

我希望它有所帮助。

答案 1 :(得分:1)

您可能误解了C / Objective-C中static的含义(this question应该有帮助)。您应该使用const而不是static来定义常量,并且应该在.m文件中定义整数/字符串常量的值,并在{{1}中使用相应的声明文件。或者更好的是,如果你有一组相关的整数常量,请使用.h

Here是Apple关于常量的文档,其中包括上述信息以及命名建议(例如,enum优于经典Mac OS风格的PRConstant)。