试题详情
- 简答题什么是block?
- 对于闭包(block),有很多定义,其中闭包就是能够读取其它函数内部变量的函数,这个定义即接近本质又较好理解。对于刚接触Block的同学,会觉得有些绕,因为我们习惯写这样的程序main(){ funA();} funA(){funB();} funB(){…..}; 就是函数main调用函数A,函数A调用函数B… 函数们依次顺序执行,但现实中不全是这样的,例如项目经理M,手下有3个程序员A、B、C,当他给程序员A安排实现功能F1时,他并不等着A完成之后,再去安排B去实现F2,而是安排给A功能F1,B功能F2,C功能F3,然后可能去写技术文档,而当A遇到问题时,他会来找项目经理M,当B做完时,会通知M,这就是一个异步执行的例子。在这种情形下,Block便可大显身手,因为在项目经理M,给A安排工作时,同时会告诉A若果遇到困难,如何能找到他报告问题(例如打他手机号),这就是项目经理M给A的一个回调接口,要回掉的操作,比如接到电话,百度查询后,返回网页内容给A,这就是一个Block,在M交待工作时,已经定义好,并且取得了F1的任务号(局部变量),却是在当A遇到问题时,才调用执行,跨函数在项目经理M查询百度,获得结果后回调该block。
关注下方微信公众号,在线模考后查看
热门试题
- 简述控件主要响应3种事件
- oc中的协议和java中的接口概念有何不
- 如何使用Xcode设计通用应用?
- 是否在一个视图控制器中嵌入两个table
- 什么是push?
- 谈谈Object-C的内存管理方式及过程
- 如果我们不创建内存池,是否有内存池提供给
- 简述死锁的4个必要条件
- 属性readwrite,readonly
- 什么是NSManagedobjectCo
- id声明的对象有什么特性?
- 对于语句NSString*obj = [
- xib文件的构成分为哪3个图标?都具有什
- 原子(atomic)跟非原子(non-a
- 简述线程与进程的区别和联系?
- 简述通知和协议的不同之处?
- 简述static关键字的作用
- 简述OC的垃圾回收机制?
- 对于单例的理解
- 类NSObject的那些方法经常被使用?