微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

objective-c – 未定义的符号:“_OBJC_CLASS_ $错误

我一直在看这个错误的无数帖子:

Undefined symbols:
"_OBJC_CLASS_$_BoxView",referenced from:
  objc-class-ref-to-BoxView in ViewMovingViewController.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

BoxView是UIView的子类,UIKit框架已被包含。 BoxView.h已导入ViewController中。

ViewController包含以下代码:

-(void) addBoxViewAtLocation:(CGPoint)point {
    CGRect rect;  
    rect.origin.x = point.x;  
    rect.origin.y = point.y;  
    rect.size.width = 80;  
    rect.size.width = 40;  
    BoxView *newView = [[BoxView alloc] initWithFrame:rect];  
    newView.backgroundColor = [UIColor yellowColor];  
    [mainView addSubview:newView];  
}

而BoxView包含以下代码:

- (id)initWithFrame:(CGRect)frame {     
    self = [super initWithFrame:frame];  
    if (self) {  
        // no further initialization  
    }  
    return self; 
}

这是导致错误的行,从上面的代码:

BoxView *newView = [[BoxView alloc] initWithFrame:rect];

当我将BoxView更改为该行中的UIView时,错误消失。有谁知道我需要改变什么?我已经看过很多关于这个的帖子,但是大多数答案都表示这是链接相关的,但是我没有成功尝试打勾和取消某些框。我想知道错误是否在我的代码中?任何建议,将不胜感激!

解决方法

一般来说,当BoxView的代码没有正确地编译到目标中时,会发生这种情况。

您需要确保您正在构建的目标对应于BoxView.m实现文件的相应框。你的问题表明你已经尝试过了,但是为了清楚起见,这里是一个截图(来自Xcode 4)。

“清洁和建设”也不会伤害。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐