在Objective-C XCode中将常量链接到pch时出错

时间:2011-09-16 00:38:55

标签: iphone objective-c ios

我正在尝试link up some constants to my iOS app in XCode as per the answer here。我创建了一个这样的Constants.h头文件:

//  Constants.h
//  myApp

extern NSString * const tumblrConsumerKey;
extern NSString * const tumblrConsumerSecret;

和这样的Constants.m实现文件:

//  Constants.m
//  myApp

#import "Constants.h"
NSString * const tumblrConsumerKey = @"keyiskey";
NSString * const tumblrConsumerSecret = @"secret";

然后我将它添加到myApp-Prefix.pch预编译头的顶部:

// Prefix header for all source files of the 
// 'myApp' target in the 'myApp' project
//
#import <Availability.h>
#import "Constants.h"

现在我在Constants.h文件中的声明extern NSString * const等的行中收到错误:

Expected '=', ',', ';', 'asm' or '__attribute__' before 
'*' token in /Users/me/Documents/iPhone Programs/myApp/myApp/Constants.h

看起来我的Constants.m文件已添加到myApp的目标中。我做错了什么?

1 个答案:

答案 0 :(得分:7)

看起来您对包含广告的位置有点急切。它应该在其他框架之后

#ifdef __OBJC__
  #import <UIKit/UIKit.h>
  #import <Foundation/Foundation.h>
  #import "Constants.h"
#endif

最好用大写字母开始常量,通常是你的名字/公司的2-3个字母缩写。它使您更容易看到您正在处理常量而不仅仅是正常变量。

<强>参考文献:

Apple对prefixing names

的推荐

Apple建议宣布constants