直接上代码:
1,.h文件
#import <Foundation/Foundation.h>
typedef void (^CSRAlertCompletion)(NSInteger);
@interface CSRAlertView : UIAlertView <UIAlertViewDelegate> {
CSRAlertCompletion completionBlock;
}
- (void)showWithCompletionHandler:(CSRAlertCompletion)aBlock;
@end
2,.m文件
#import "CSRAlertView.h"
@implementation CSRAlertView
- (void)showWithCompletionHandler:(CSRAlertCompletion)aBlock {
self.delegate = self;
completionBlock = [aBlock copy];
[self show];
}
- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex {
completionBlock(buttonIndex);
completionBlock = nil;
}
@end
3,如何使用:
CSRAlertView *alert = [[CSRAlertView alloc]
initWithTitle:@"title"
message:@"test 一把"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Yes", nil];
[alert showWithCompletionHandler:^(NSInteger buttonIndex) {
if (buttonIndex == 1) {
[[Devices sharedInstance] removeDevice:meshDevice];
}
}];