实际上我建立并编译我的项目没有问题一个月的年龄,但今天我打开我的项目并继续修改一些东西,我发现有一个问题,我不知道为什么!
看起来像这样。
我有一个类(viewController.h / viewController.m)
在viewController.h中,我声明了两个方法
-(void) a;
-(void) b;
在viewController.m中,我实现了它们
-(void) a
{... b()\\invoke method b; ...}
-(void) b
{...\\do something}
但是当我构建项目时,会发生错误:
架构i386的未定义符号:“_ b”,引自: - ViewController.o中的[ViewController a] (也许你的意思是:dyld_stub_binding_helper)ld:找不到架构i386 clang的符号:错误:链接器命令失败 退出代码1(使用-v查看调用)
我该如何解决?
答案 0 :(得分:1)
您正在尝试调用方法b
,就好像它是一个C函数,而不是Objective-C方法。正确的方法是:
- (void)a
{
[self b]; // Call method b
}
答案 1 :(得分:1)
使用C函数:
viewController.h:
void a();
void b();
viewController.m:
void a() {
b();
}
void b() {
// do something
}
或者,您可以使用Objective-C方法:
viewController.h:
- (void)a;
- (void)b;
viewController.m:
- (void)a {
[self b];
}
- (void)b {
// do something
}