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

Vic*_*Hee 1 iphone objective-c ios

我正在尝试按照这里的答案将一些常量链接到我在XCode中的iOS应用程序.我创建了一个这样的Constants.h头文件:

//  Constants.h
//  myApp

extern NSString * const tumblrConsumerKey;
extern NSString * const tumblrConsumerSecret;
Run Code Online (Sandbox Code Playgroud)

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

//  Constants.m
//  myApp

#import "Constants.h"
NSString * const tumblrConsumerKey = @"keyiskey";
NSString * const tumblrConsumerSecret = @"secret";
Run Code Online (Sandbox Code Playgroud)

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

// Prefix header for all source files of the 
// 'myApp' target in the 'myApp' project
//
#import <Availability.h>
#import "Constants.h"
Run Code Online (Sandbox Code Playgroud)

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

Expected '=', ',', ';', 'asm' or '__attribute__' before 
'*' token in /Users/me/Documents/iPhone Programs/myApp/myApp/Constants.h
Run Code Online (Sandbox Code Playgroud)

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

Pau*_*l.s 7

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

#ifdef __OBJC__
  #import <UIKit/UIKit.h>
  #import <Foundation/Foundation.h>
  #import "Constants.h"
#endif
Run Code Online (Sandbox Code Playgroud)

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

参考文献:

Apple对前缀名称的建议

Apple建议声明常量