你如何从Objective C中的块返回

bbr*_*ame 3 objective-c ios objective-c-blocks

你如何从Objective C中的块返回?

例如,在下面的例子中你会怎么做得很早?

[myObject loadThenCallback: ^(id response) {
    if(!response) { 
      // quit early
    }
    // handle response
}];
Run Code Online (Sandbox Code Playgroud)

Vik*_*ica 7

你的解决方案没问题(其他人不喜欢很多或早期的退货声明),但当然在这种情况下你就可以做到

[myObject loadThenCallback: ^(id response) {
    if(response) { 
      // handle response
    }
}];
Run Code Online (Sandbox Code Playgroud)

如果我写条件提前返回语句,我更喜欢这段代码:

[myObject loadThenCallback: ^(id response) {
    if(!response) return;

    // handle response
}];
Run Code Online (Sandbox Code Playgroud)

它是一样的,但我喜欢它的简洁.