美文网首页
ios block的使用

ios block的使用

作者: 风都 | 来源:发表于2017-03-22 15:49 被阅读154次

1、有一个方法里面包含了动画,需要在点击其他按钮时调用此方法,并且是动画结束之后执行按钮里面的代码

- (void)cancel{
    [UIView animateWithDuration:0.5 animations:^{
                [self dismissViewControllerAnimated:YES completion:nil];
            }];

}

需要在dismiss之后点击按钮,present出一个新的控制器,可以对重新写一个含有block的方法

- (void)cancelWithCompletionBlock:(void(^)())completionBlock{
//                if (completionBlock) {
//                    completionBlock();
//                }
                completionBlock ? completionBlock() : nil; // 装逼写法
}

然后在cancel方法里面调用此方法block传nil;
然后在其他按钮的点击方法里面调用此方法

- (void)buttonClick:(UIButton *)button{
    if (button.tag == 0) {
        [self cancelWithCompletionBlock:^{
            ButtonViewController *viewC = [[ButtonViewController alloc] init];
            [[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:viewC animated:YES completion:nil];
        }];
    }
}

或者也可以将block写成属性
@property (copy ,nonatomic) void(^completionBlock)();

至于为什么属性和方法里面的block写法不同

// 定义属性
@property (copy ,nonatomic) void(^completionBlock)();
- (void)setTestView:(UIView *)testView

- (void)setTestView:(void(^)())completionBlock{
// 定义block变量   
void(^block)() = ^{
}
block(); // 调用block
}
等值替换

相关文章

  • iOS Block存储域及循环引用

    系列文章:iOS Block概念、语法及基本使用iOS Block实现原理iOS Block __block说明符...

  • iOS Block实现原理

    系列文章:iOS Block概念、语法及基本使用iOS Block __block说明符iOS Block存储域及...

  • ios block使用

    iOS Block的使用一 .最简单的block使用******使用block的三个步骤:1.定义block变量 ...

  • iOS Block __block说明符

    系列文章:iOS Block概念、语法及基本使用iOS Block实现原理iOS Block存储域及循环引用 上一...

  • block编程, __block, __weak, __stro

    参考:block编程iOS __weak和__strong在Block中的使用__block & __weak &...

  • Block 初见

    Block 初见 介绍 iOS block 的相关知识 目录 Block 背景知识 Block 使用方式 Bloc...

  • block的使用和注意

    iOS学习-(1)block的使用和注意 本文简介 本文主要介绍1.block的基本使用 ...

  • block 实用小例子

    本篇是简单介绍iOS 开发中block的使用(附demo): /* 声明一个block (返回类型)(^block...

  • 2019 iOS面试题大全---全方面剖析面试(下)

    1、iOS block 的原理,block 的属性修饰词为什么用 copy,使用 block 时有哪些要注意的? ...

  • iOS-2 Block

    block块 系列文章: iOS Block浅浅析 - 简书 iOS Block实现原理 iOS Block __...

网友评论

      本文标题:ios block的使用

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