如何在另一个文件中调用define变量

时间:2014-07-03 15:12:53

标签: ios objective-c

我有一个define变量是这样的字符串

#define kyouTubeLink  @"<iframe width='%d' height='%d' src='http://www.youtube.com/embed/%@?showinfo=0&modestbranding=1&rel=0&showsearch=0' frameborder='0' scrolling='0' allowfullscreen></iframe>";

所以如何在另一个文件中调用此变量。提前谢谢

1 个答案:

答案 0 :(得分:1)

您无法在另一个翻译单元中引用#define - d的变量。您可以将定义放在头文件中,并将#include放在需要定义的任何翻译单元中。

因为定义是C字符串文字,所以最好为它定义一个常量extern变量,将声明放在标题中,在 one 中定义它你的翻译单位,并在其他地方使用:

公共标题(例如,&#34; YouTubeShared.h&#34;):

extern const NSString* kyouTubeLink;

第一个翻译单元(例如&#34; AppDelegate.m&#34;或者什么是更适合保存常量的文件)

#include "YouTubeShared.h"
const NSString *kyouTubeLink = @"<iframe width='%d' height='%d' src='http://www.youtube.com/embed/%@?showinfo=0&modestbranding=1&rel=0&showsearch=0' frameborder='0' scrolling='0' allowfullscreen></iframe>";
... // More things go here

第二个翻译单位:

#include "YouTubeShared.h"
... // More things go here
NSString *res = [NSString stringWithFormat:kyouTubeLink, 123, 456];