当前位置:编程学习 > wap >>

易做图补充

易做图补充

有 3 种分派队列:

Main Queue

这个队列在主线程上执行它的所有任务,Cocoa 和 Cocoa Touch 允许程序员在主线程上调用一切UI- related 方法。使用 dispatch_get_main_queue 函数检索到主队列的句柄。

 


Concurrent Queues为了执行异步和同步任务,你可以在 易做图 中检索到这写队列。多个并发队列能够轻而易举的并行执行多

个任务,没有更多的线程管理,酷!使用 dispatch_get_global_queue 函数检索一个并发队列的句柄。

 


 Serial Queues

无论你提交同步或者异步任务,这些队列总是按照先入先出(FIFO)的原则来执行任务,这就意味着它 们一次执行一个 Block Object。然而,他们不在主线程上运行,所以对于那些要按照严格顺序执行并不阻塞主 线程的任务而言是一个完美的选择。使用 dispatch_queue_create 函数创建一个串行队列。一旦你使用完整队 列,必须使用 dispatch_release 函数释放它

 

 

 

这儿简单总结关于 Block Objects 变量你必须了解的特点:

1、局部变量在 Block Objects 和 Objective-C 方法中的工作原理非常相似。

 


2、对于内联 Block Objects,局部变脸不仅包含 Block 内部定义的变量,并且包含在 Block Objects 执行方法中定义的变量。

 


3、你不能参考 self;在 Objective-C 类中运行的独立 Block Objects,如果你需要访问 self, 就必须把 Object作为参数传递到 BlockObject

 


4、只有当 self 出现在创建 Block Object 的词法范围内,你可以在内联 Block Object 内参考 self。

 


5、对于内联 Block Objects,那些在 BlockObject 执行过程中定义的局部变量是可读写的,换句话说,对于Block Objects 自身的局部变量来说,Block Objects 有个读写存取。

 


6、对于内联 Block Objects,实现 Object 的 Objective-C 方法的局部变量只能从中读取,不能写入。不过还有一个例外,如果定义它们通过 __block 存储类型定义的话,Block Object 可以写入此类的变

量。

 


7、假设你有一个类 NSObject 的 Object,并且在这个 Object 的执行中你使用了一个 Block Object 与 易做图相连,那么在这个 Block Object 内部,你会有一个存储来读取那个支持你的 Block 执行的 NSObject内部的声明属性。

 

补充:移动开发 , IOS ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,