我使用的API具有以下方法签名:
- (BOOL)executeCommandIfConfirmed:
(void (^)(void (^confirmationAnswer)(BOOL answer)))confirmationBlock;
有人能举例说明正确的电话会是什么样子吗?我很挣扎。
答案 0 :(得分:2)
[object executeCommandIfConfirmed:^(void (^confirmationAnswer)(BOOL answer)) {
confirmationAnswer(TRUE);
}];
修改强>
如果你想使用UIAlertView
,你必须像往常一样创建一个类作为它的委托,但是你会将回调块传递给委托的构造函数并将其存储在一个领域。然后代理人的-alertView:didDismissWithButtonIndex:
将回调回调块。
但是如果你还在使用块,为什么不使用PSAlertView
,AlertView
周围基于块的包装器:
[object executeCommandIfConfirmed:^(void (^confirmationAnswer)(BOOL answer)) {
PSAlertView *alert = [PSAlertView alertWithTitle:@"Alert"
message:@"Do you want to continue?"];
[alert addButtonWithTitle:@"Yes" block:^{ confirmationAnswer(TRUE); }];
[alert setCancelButtonWithTitle:@"No" block:^{ confirmationAnswer(FALSE); }];
[alert show];
}];