添加常量问题Xcode 4.5

时间:2012-10-29 13:40:18

标签: objective-c xcode

我有一个用于存储常量的类。

因此,有两个文件调用Constant.h和Constant.m

这就是我在.h文件中的内容:

#import <Foundation/Foundation.h>

enum kParams {
    kFirstName = 0,
    kLastName = 1
};

extern NSString * const kNotificationUpdateMainMenu;

这就是我在.m文件中的内容:

#import "Constants.h"

NSString * const kNotificationUpdateMainMenu = @"kNotificationUpdateMainMenu";

第一次它运行良好,但是当我尝试添加一些其他const(例如kNotificationFbLoginSuccsess)时,其他类看不到它。

这是一条消息,告诉我我遇到了哪些问题。但是我不明白我的其他常量如何在没有这个问题的情况下工作(我添加的新常量会得到这个错误)。

/Users/developer/Documents/Projects/Test/Test/Test/AppDelegate.m:121:64: Use of undeclared identifier 'kNotificationFbLoginSuccsess'

我找到了一些解决方法:

  • 打开管理器
  • 清除衍生数据
  • 删除project.xcworkspace文件和xcuserdata
  • 关闭项目
  • 重新启动Xcode

但是我认为操作太多,我可以添加一个常量。怎么样?

1 个答案:

答案 0 :(得分:1)

您的“全局”常量实际上不是外部的(单独编译,后来链接在一起)。轻松一点,将NSString * const kNotificationUpdateMainMenu = @"kNotificationUpdateMainMenu";放入头文件中。方法文件不需要任何内容​​。

我会使用#define kNotificationUpdateMainMenu @"kNotificationUpdateMainMenu"来执行拼写检查。编译器将为整个编译创建一个常量字符串的共享实例。