使用iOS存储常量和附加字符串

时间:2014-08-29 03:24:59

标签: ios objective-c string constants

我创建了一个constants.h文件,用于在我的iOS应用程序中存储一些全局变量。当我尝试访问它并在我的ViewController中追加它时,我会遇到很多错误。

这是我的constant.h文件的样子:

#import <Foundation/Foundation.h>

@interface constants

#define projectURL @"http://website.com/projects";

@end

然后在我的视图控制器中,我导入顶部的常量文件:

#include "constants.h"

但是当我尝试使用以下内容记录网址时:

NSLog(@"%@", projectURL);

我收到错误:

Expected ')'

最终,我想做的事情是这样的:

NSString *newProjecURLString = [projectURL stringByAppendingFormat: @"/new?auth_token=%@", auth_token];

但为此,我收到错误:

Extraneous ')' before ';'

2 个答案:

答案 0 :(得分:4)

这是因为你的#define最后有一个;,所以你要结束你的行,然后添加);

这是编译器所看到的:

NSLog(@"%@", @"http://website.com/projects";);

答案 1 :(得分:1)

#define projectURL @"http://website.com/projects";只需在编译前替换文本。

在编译代码之前 - 我们调用precompile

clang将使用projectURL

替换代码中的所有@"http://website.com/projects";

因此NSLog(@"%@", projectURL);将成为NSLog(@"%@", @"http://website.com/projects";);