2013年7月12日

块与GCD分派队列

摘要: GCD创建分派队列,只需调用一个C函数:myQueue = dispatch_queue_create("com.mycompany.myapp.myfirstqueue",NULL);要异步地给这个队列分派任务,可以用dispatch_async方法。这个方法接受块作为第二个参数。它实际上是把块加入第一个参数所指定的队列中去。dispatch_async(myQueue, ^(void){ //做一些耗时操作} );就这样,不用显示地创建线程。 阅读全文

posted @ 2013-07-12 16:03 也嘉 阅读(150) 评论(0) 推荐(0)

块和函数式编程

摘要: 编程范式有三种:过程式编程、面向对象编程和函数式编程。大部分现代编程语言并不能单纯地归为某一范式。这些语言常常看起来属于某种范式,同时又兼具其他范式的特色。Objective-C主要是面向对象的,同时又通过块借鉴了一些函数式的特性。函数式编程(Functional Programming,FP)块:可以把块作为参数传递,“复制”以备稍后使用,也可以对其执行几乎所有通常会用在基本数据类型上的操作。C程序员是用函数指针做这件事的。而块区别于指针的一点是:块可以在其他方法的词法作用域中声明,而且可以在这个作用域中“捕获变量的状态”,不需要程序员做任何事块就有上下文信息。例子:展示一个UIAlertV 阅读全文

posted @ 2013-07-12 14:20 也嘉 阅读(390) 评论(0) 推荐(0)

导航