伙计们,
我正在尝试做一个调用自身的函数,但将所有内容放在一个块上,
如您所见,以下函数旨在被无限次调用(直到 arcrandom 返回小于 50 的数字),并且您应该期望输出可变数量的“RUNNING”消息,具体取决于机会。
void (^_test_closure)(void) = ^ {
NSLog(@"RUNNING");
if(arc4random() % 100 > 50) {
_test_closure();
}
};
_test_closure();
但是,在运行它时,我得到一个 EXC_BAD_ACCESS 错误,我发现的原因是当代码尝试在闭包内调用 _test_closure 时,它基本上没有指向任何地方。
有谁知道如何使上述代码工作?