Block的使用
来源:互联网 发布:js 遍历object属性 编辑:程序博客网 时间:2024/06/06 17:33
Block的使用
目的: AController跳转到BController, 然后从BController传值回AController.
第一步
在BController.h页面声明block
typedef void(^MyBlock)(UIColor *var1,NSString *var2);@property (nonatomic, copy) MyBlock block;
第二步
在AController.m文件
//将当前的self弱引用//__weak typeof(self) weakSelf = self;BController *bC = [[BController alloc]init];__weak BController *weakSelf = self;bC.block = ^(UIColor *var1, NSString *var2){ NSLog(@"%@",var2); weakSelf.view.backgroundColor = var1;};[self.navigationController pushViewController:b animated:true];
第三步
在BController.m的任意位置中
self.block([UIColor redColor], @"str");
在这里有一点需要注意就是Block的使用引起的循环引用。如果在Block中使用附有__strong修饰符的对象类型自动变量,那么当Block从栈复制到堆时,改对象为Block所有。这样容易引起循环引用,从而发生内存泄漏,然而我们只需要保证当前控制器也就是self在需要释放的时候正确释放就可以
0 0
- Block的使用 iphone
- block的简单使用
- oc block的使用
- block的使用
- Block的使用详解
- Block使用的注意
- Block的使用
- Block语法的使用
- SDWebImage的block使用
- Block语法的使用
- block的使用
- block 的使用
- 关于Block的使用
- OC--Block的使用
- iOS block的使用
- block的使用
- block的使用
- ios block 的使用
- 计算Java List中的重复项出现次数【转】
- 电池条添加AF的网络监听
- AdaBoost中利用Haar特征进行人脸识别算法分析与总结
- SQLServer2008 字段内批量替换
- Timsort排序算法
- Block的使用
- [设计模式]之六大设计原则
- 通过NSUserDefaults做欢迎页显示机制:版本号控制
- 关于设置z-index层级无效的问题
- rabbitMQ、activeMQ、zeroMQ、Kafka、Redis 比较
- HashMap源码分析
- 机器学习实战+第四章_朴素贝叶斯
- Web服务器和应用服务器的区别是?
- 如何生成在一定范围内的double型的真正随机数?