Apple mach-0链接器错误NSInteger

时间:2014-06-05 15:30:32

标签: objective-c

我收到以下错误(是的,我已经一次又一次地搜索谷歌):

enter image description here

我有多个外部NSInteger'定义并且可以使用它们,尽管这个时间点击'由于某种原因导致此错误

在其他线程上,人们谈论添加框架和包含内容,但在这里我只使用一个NSInteger

在我的.h

enter image description here

在我的.m

enter image description here

2 个答案:

答案 0 :(得分:0)

可能是你实际上没有定义 timeOfClick变量(在.m文件中)。将extern声明放在标题中说“别担心,这个东西会在某处定义,你会在链接时找到它”。如果链接器出现(就像这里)并且它实际上找不到定义的变量,那么你将得到这样的错误。

基本上,您希望在实现(.m)文件中的某处NSInteger timeOfClick

答案 1 :(得分:0)

我认为你收到了错误,因为你没有写

@synthesize timeofclick2;

@implementation ReactingViewController下。

默认情况下,如果您只声明属性但未明确合成属性,编译器将为您生成实例变量(ivar)。生成的ivar通常为_<property_name>,就像您的情况_timeofclick2一样,而不是与属性相同的名称。

因此,当您尝试在没有timeofclick2前缀的情况下调用_时出现错误,因为没有名称的ivar。

通过显式写@synthesize <property_name>(不带'&lt; ..&gt;'),编译器将为您生成具有该属性名称的ivar。

因此,如果您添加我上面提到的代码,编译器将为您创建ivar timeofclick2。然后你可以通过你的外部访问它。

......或者另一种解决方案,你可以从

改变外部
extern NSInteger timeofclick2;

extern NSInteger _timeofclick2;

那你就没事了:D