這篇文章主要記錄block保存代碼的用法。
本例子實現(xiàn)對不同 標的 狀態(tài)的不同操作滓走。
1.首先在BidCellitem.h模型類中申明block
@property (nonatomic,strong)void(^selectbidcellBlock)();
2.在TableViewController.m的- (void)viewDidLoad方法中定義block(包含了數(shù)據(jù)源的方法)
- (void)viewDidLoad {
[super viewDidLoad];
for (NSInteger i ; i<20; i++) {
Bidtstaus staus = arc4random()%5;
BidCellitem *item = [BidCellitem itemWithBidtstaus:staus];
__weak typeof(item)Weakitem = item;
item.selectbidcellBlock = ^{
__strong typeof(Weakitem)StrongItem? = Weakitem;
NSString *message = [StrongItem.title stringByAppendingString:@"的控制器"];
UIAlertController *alertController =[UIAlertController alertControllerWithTitle:@"想去跳轉(zhuǎn)" message: message preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"好的"style:UIAlertActionStyleDefault handler:nil];
[alertController addAction:okAction];
[self presentViewController:alertController animated:YES completion:nil];
};
[self.bidArr addObject:item];
}
}
在TableViewController.m的didSelectRowAtIndexPath方法中調(diào)用了block
if (item.selectbidcellBlock) {
item.selectbidcellBlock();
};