Blocks
来源:互联网 发布:淘宝二手电脑市场 编辑:程序博客网 时间:2024/04/30 12:39
在需要传递信息的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
- 15.2 Blocks
- Delimiting Blocks
- Code::Blocks
- Code::Blocks
- poj2363-blocks
- blocks学习
- blocks 学习
- Code::Blocks
- IOS Blocks
- Code::Blocks
- [Boost] 1.57.0 with VS2013 + Intel compiler
- 大型网站技术架构(三)架构核心要素
- CSS中cursor的pointer 与 hand
- 数据结构课程设计 图书管理系统
- 方法重载和方法重写的区别?
- Blocks
- Introducing Protocol-Oriented Programming in Swift 2
- 用了springmvc为何JS,CSS等文件就是访问不到
- 【HTTP】Fiddler(一) - Fiddler简介
- Java Web利用POI导出Excel例子(采用Spring mvc架构)
- 双向循环链表
- 接口和抽象类什么时候使用比较合适?
- jQuery实现长文章分页
- XCode7打包/更新报错