我的课堂上有一个简单的方法:
- (void)getFormWithBlock:(DataCenterResultBlock)block {
[SomeClass doSomeLongOperationWithParam:someParam
completionBlock:^(NSData *data, NSURLResponse *response) {
//Success
block(aVar, YES);
} errorBlock:^(NSError *error) {
//Failed
block(nil, NO);
}];
}
我读到如果您正在异步执行某些操作,您应该将块复制到堆中,因为它们是在堆栈上分配的,并且一旦调用树倒带它就会消失。
但是在这里,我没有将它复制到堆中,但我仍然没有崩溃。为什么?谢谢