UI11_Block传值
来源:互联网 发布:人性实验室 网络暴力 编辑:程序博客网 时间:2024/06/06 14:22
目的:前后传值.我们在两个视图控制器中创建UIButton(点击进去下一页,和返回上一个页面)进行传值
从后往前传值
现象:后面控制前面的背景颜色.block没有返回值没有参数第一个页面的点击方法中-(void)click:(UIButton *)button{ //没有参数没有返回值的block //通过block改变self.view的背景颜色 void(^block)()=^() { self.view.backgroundColor=[UIColor colorWithRed:arc4random()%265/250.0 green:arc4random()%265/250.0 blue:arc4random()%265/250.0 alpha:1]; } //调用 block(); // 定义第二个界面的视图控制器的对象 SecondViewController *second=[[SecondViewController alloc]init]; //正题-传值步骤2 //此地方传的是变量 将block变量传到第二页 second.block=block; [self.navigationController pushViewController:second animated:YES];}
第二个页面传值步骤1//在.h文件写一条属性,负责接收第一页想第二页传递过来的block@property(nonatomic, copy)void(^block)();传值步骤3在.m文件中的Button点击方法中-(void)click:(UIButton *)button{//3.调用传过来的block //后面是使用block方法// self.block();}
传数组
block传值不需要返回值,因为调用更需要返回值,所以传值的时候只要参数不需要返回值等号前面是参数的类型,等号后面是形参列表传过来的数据在block中进行
Button的点击方法中void(^block)(NSMutableArray *)=^(NSMutableArray *arr){ NSLog(@"%@",arr);};SecondViewController *second=[[SecondViewController alloc]init];[self.navigationController pushViewController:second animated:YES];second.blockOne=block;[second release];在SecondViewController.h中定义属性@property(nonatomic,copy)void(^blockOne)(NSMutableArray *);在.m文件中定义个数组arr(在扩展里定义的)Button点击中方法中-(void)click:(UIButton *)button{[self.navigationController popToRootViewControllerAnimated:YES];self.blockOne(self.arr);}
0 0
- UI11_Block传值
- UI11_Block传值
- UI11_BLOCK传值
- UI11_BLOCK传值
- iOS UI11_BLOCK传值
- UI11_block练习
- 传值
- 传值
- 传值
- 传值
- 传值
- 传值
- 传值
- 传值
- 传值
- 传值
- 传值
- 传值
- J114 8/13
- hdu 5375 gray code
- 甘特图及其绘制软件
- 开始写博客
- 信息系统权限设计二
- UI11_Block传值
- hdu 2094 产生冠军【set基础应用】
- Android-应用开发-多媒体编程(九)
- 练习题
- 智能家居为什么离不开ZigBee协议
- 创建型模式之工厂方法
- hdu 3790(最短路径问题 SPFA算法)
- 程序员必须掌握的十种算法---快速排序算法
- [leetcode] Add Two Numbers