0

实际上我构建和编译我的项目一个月大,但今天我打开我的项目并继续修改一些东西,我发现有问题,我不知道为什么!

它看起来像这样。

我有一个类(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 查看调用)

我该如何解决?

4

2 回答 2

1

您试图调用方法b,就好像它是一个 C 函数,而不是一个 Objective-C 方法。正确的方法是:

- (void)a
{
    [self b];    // Call method b
}
于 2012-12-11T07:55:24.027 回答
1

要么使用 C 函数:

视图控制器.h:

void a();
void b();

视图控制器.m:

void a() {
    b();
}
void b() {
    // do something
}

或者,您可以使用 Objective-C 方法:

视图控制器.h:

- (void)a;
- (void)b;

视图控制器.m:

- (void)a {
    [self b];
}
- (void)b {
    // do something
}
于 2012-12-11T07:59:06.940 回答