我一直在看这个错误的无数帖子:
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] 举报,一经查实,本站将立刻删除。