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

我试图将一些常量链接到我的iOS应用程序在XCode根据答案在这里 。 我创build了一个像这样的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" 

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

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

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

看起来你对包含的位置感到有些急切。 它应该在其他框架之后

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

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

参考文献:

苹果对前缀名称的推荐

苹果公司build议用于声明常量