美文网首页
block使用场景(1)-保存代码

block使用场景(1)-保存代码

作者: 游循子墨 | 来源:发表于2016-09-18 20:49 被阅读31次

    这篇文章主要记录block保存代码的用法。

    本例子实现对不同 标的 状态的不同操作。

    1.首先在BidCellitem.h模型类中申明block

    @property (nonatomic,strong)void(^selectbidcellBlock)();

    2.在TableViewController.m的- (void)viewDidLoad方法中定义block(包含了数据源的方法)

    - (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:@"想去跳转" 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方法中调用了block

    if (item.selectbidcellBlock) {

    item.selectbidcellBlock();

    };

    完整项目见https://github.com/youweikang/block-.git

    相关文章

      网友评论

          本文标题:block使用场景(1)-保存代码

          本文链接:https://www.haomeiwen.com/subject/sysgettx.html