我已经声明了一个全局变量,如下所示
extern NSString *name;
@interface viewcontrollerOne{}
在实现文件中,我正在通过某种方法访问该全局变量,例如
-(void)someMethod
{
name = @"hello";
}
但这会导致链接器错误。
“名称”,引用自:
-viewcontrollerOne.o 中的[viewcontrollerOne someMethod]
ld:未找到架构 i386 的符号
clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
以下仅为声明:
extern NSString * const name; // << side note: this should typically be const
它声明有一个符号NSString*
named name
。它不创建存储。
为此,您需要提供一个定义name
。为此,请添加以下内容给你的.m file:
NSString * const name = @"hello";
如果您想在实例方法中设置它,如示例所示,那么您可以声明它:
MON文件.h
extern NSString * name;
定义它:
MON文件.m
NSString * name = 0;
那么你可以写name = @"hello";
在你的实例方法中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)