1

我有一个 ViewController,在 viewDidLoad 方法中我初始化了一个 GLKView。初始化 GLKView 后,我尝试调用该视图的方法:

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.myController = [[MyController alloc] init];
    self.myController.parameter1 = @"BLA";

    [self.myController initTargets];
}

我的 initTargets 方法并不是很神奇。它实际上不止于此:

- (void) initTargets
{
    MyTarget *targetOne = [[MyTarget alloc] initWithParameter:self.parameter1];

    [self.targets addObject:targetOne];
}

当我尝试像上面描述的那样调用 initTargets 方法时,我收到以下错误:

Thread 1: EXC_BAD_ACCESS (code=1, address = 0xe80000000)

只调用方法我从来没有遇到过这样的问题,我不知道这个错误想告诉我什么。

4

2 回答 2

1

转到 xCode 中的 Breakpoints 窗格,然后单击左下角的加号。默认情况下,xCode 添加一个“所有异常”断点,这意味着它将在实际崩溃之前停止任何异常。这就是我调试所有“错误访问”异常的方式,除了块中的异常。

于 2014-03-31T11:12:11.310 回答
0

您访问的对象或指针不存在/尚未分配。或者已经被摧毁了。

所以要么 MyTarget 没有被正确分配,要么 self.targets 没有。

什么是 self.targets ?需要先分配吗?

另外,你有 self.paramter1,不应该是 self.myController.parameter1 吗?

于 2013-09-21T01:38:13.370 回答