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)。

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

相关文章

在有效期内的苹果开发者账号(类型为个人或者公司账号)。还...
Appuploader官网--IOS ipa上传发布工具,证书制作工具跨平台...
苹果在9月13号凌晨(北京时间)发布 iOS 16,该系统的设备可...
计算机图形学--OpenGL递归实现光线追踪
Xcode 14打出来的包在低版本系统运行时会崩溃,报错信息是Li...