Blocks 用法
来源:互联网 发布:手机淘宝如何开直播 编辑:程序博客网 时间:2024/05/16 06:07
Blocks 语法 实现传值
在需要传递信息的ViewController里边声明blocks变量。
如下:
void (^blocks) (int flag, NSString * string); // 变量名为blocks ,, 后边的两个变量为需要传递的信息
void (^blocks2) (SecendViewController * sec); // 变量名为blocks2
并添加一个 -(void) setBookName :(void (^) (SecendViewController * sec))name; 方法
void (^) (SecendViewController * sec)我理解的是可以当做一个一般的类型,比如NSString来看待
在.m文件里边
-(void) setBookName :(void (^) (SecendViewController * sec))name
{
[blocks2 release]; // 这里边也是符合内存管理的
blocks2 = [name copy];
}
在需要推出次界面的的方法里边:
if (blocks2) {
blocks2(self); // 我理解的是就如同一个普通的函数一样,在此时去回调blocks2也就是上边name的方法块(方法块在需要接受信息的controller里边)
}
在接收的ViewController里边,可以再推进到第二个界面的时候用创建的对象去调用setBookName :方法
SecendViewController * secendVC = [[SecendViewController alloc]init];
[secendVC setBookName:^(SecendViewController *sec) {
// name 方法块
}]; // 这样就把第二个界面的对象传递了过了,也就传递了该对象的所有属性。
- Blocks 用法
- blocks用法
- blocks
- Blocks
- Blocks
- Blocks
- Blocks
- Blocks
- Blocks
- Blocks
- 15.2 Blocks
- Delimiting Blocks
- Code::Blocks
- Code::Blocks
- poj2363-blocks
- blocks学习
- blocks 学习
- Code::Blocks
- Android学习笔记(三十):弹出信息-Toast和告警
- 程序员的秘密
- Android学习笔记(三一):线程:Message和Runnable
- 数据大小超出此类型的最大值
- Android学习笔记(三二):线程:后台异步任务AsyncTask
- Blocks 用法
- 算法导论8.3-4 O(n)时间内对[0..n^-1]之间的n个数排序 .
- 指针数组的应用
- 裘宗燕:C/C++ 语言中的表达式求值
- 系统调用彻底理解
- 项目1 - 数组大折腾
- 虚拟析构函数 与释放内存是独立的
- Android学习笔记(三四):再谈Intent(上)-一些知识
- ECmall邀请注册功能构想和实现