在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议用于声明常量