iOS Bolck

2020-12-21  本文已影响0人  Nothing_xy

7.7 Bolck

定义

内部结构

cc3d6b2b.jpg
c07ab3d5.jpg

表达式

Block类型变量

typedef声明Block

当Block类型变量作为函数的参数

- (void)setTimerWithId:(NSString *)tid  result:(void (^)(NSInteger code, NSDictionary *data))result;
}

- (void)func:(ResultBlock)blk {
  NSLog(@"Param:%@", blk);
}

Block类型变量作返回值

 - (void (^)(NSInteger code, NSDictionary *data))setTimerWithId:(NSString *)tid  ;
}

  - (ResultBlock)func:(NSString *)str {
    NSLog(@"Param:%@", str);
}

typedef int (^blk_k)(int);

- (blk_k)funcR {
    return ^(int count) {
        return count ++;
    };
}

Block的变量捕获(capture)

Block的类型

1a5f88df.jpg

Block的copy

6302d07c.jpg

Block的对象类型的auto变量

Block内部修改变量

__block的内存管理

b723414e.jpg
220ea1bd.jpg

对象类型的auto变量,__block变量

54105e54.jpg

block的循环引用

上一篇 下一篇

猜你喜欢

热点阅读