iOS如何实现传值---block传值
来源:互联网 发布:外套淘宝详情页 编辑:程序博客网 时间:2024/05/16 15:28
先来复习下如何定义一个block
返回值 (^block名)(参数列表) = ^(参数列表){
};
例如:
- // block的写法
- //定义block
- void (^block)(int) = ^(int a){
- NSLog(@"%d", a);
- };
如何使用block:
block名(参数);
例如:
- // block的写法
- //定义block
- void (^block)(int) = ^(int a){
- NSLog(@"%d", a);
- };
- // block的使用(执行block中的代码)
- block(10);
- // 可以给同类型的block类型赋值
- void (^block1)(int) = block;
- - (void)textBlock:( void (^)(int) )block
- {
- block(3);
- }
- [self textBlock:block];
临时定义一个block参数
- [self textBlock:^(int a) {
- NSLog(@"%d", a);
- }];
使用重定义快速定义一个block
- // 把void(^)(int) 类型重定义为BLOCK
- typedef void(^BLOCK)(int);
- // 利用新定义的BLOCK变量 定义
- BLOCK b = ^(int a ){
- NSLog(@"%d", a);
- };
现在来讲如何利用block传值
第一步:
- // 在第一个页面中定义一个block 确定需要进行的操作
- void (^changeColorBlock)(UIColor *color) = ^(UIColor *color) {
- // 改变颜色
- [self.view setBackgroundColor:color];
- };
第二步:
在第二个页面类中声明一个属性
- // 重定义一个Block类型
- typedef void(^BL)(UIColor *color);
- //定义一个block属性 一定要用copy属性
- @property (nonatomic, copy) BL block;
第三步:
给第二个页面的block赋值
- secondVC.block = changeColorBlock;
第四步:
在第二个界面中比如说按了一个按钮,把值传回到第一个界面类中
- - (void) btnClick:(UIButton *)btn
- {
- self.block([UIColor orangeColor]);
- [self.navigationController popViewControllerAnimated:YES];
- }
内存管理:
- -(void)dealloc
- {
- Block_release(_block);
- [super dealloc];
- }
0 0
- iOS如何实现传值---block传值
- iOS如何实现传值---block传值
- iOS学习-初学者如何使用块(Block)进行传值
- iOS-Block揭秘
- IOS-Block
- iOS总结 - Block
- ios-block swift-block
- iOS开发-Object-C Block的实现方式
- iOS-Block总结 && 全面解析逆向传值
- iOS开发-block详解
- iOS开发:界面之间传值之Block传值(Block高级用法:Block传值)
- iOS开发:使用Block在两个界面之间传值(Block高级用法:Block传值)
- iOS开发:使用Block在两个界面之间传值(Block高级用法:Block传值)
- iOS开发:使用Block在两个界面之间传值(Block高级用法:Block传值)
- IOS开发: 使用Block在两个界面之间传值(Block高级用法:Block传值)
- iOS开发:使用Block在两个界面之间传值(Block高级用法:Block传值)
- iOS开发:使用Block在两个界面之间传值(Block高级用法:Block传值)
- iOS开法--block篇
- mysql分类查询每个分类的两条记录
- openstack笔记1
- python运行shell命令四种方法
- android wifi连接 有无密码均实机验证成功案例
- jeeshop1.1 Beta版本发布
- iOS如何实现传值---block传值
- myeclipse note
- android.permission.MODIFY_PHONE_STATE权限问题
- Cygwin本地安装
- android broadcast 的onreceive
- 推荐一个白盒测试群
- python常用的文件目录操作函数
- ADB使用
- Js编程原则和良好习惯