摘要: 问题:在 APP 的生命周期内你想确保每段代码只执行一次,即使它在代码的不同地方多次调用(比如单例的初始化)。方案:使用 dispatch_once 函数例子:static dispatch_once_t onceToken;void (^executedOnlyOnce)(void) = ^{ ... 阅读全文
posted @ 2014-11-05 17:45 safiri 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 功能:你希望通过 GCD 指定一个延迟,延迟到后,继续执行相关代码。方案:使用dispatch_after 和 dispatch_after_f函数讨论:通过Core Foundation,您可以在一段给定的时间之后调用对象中的选择器,这个调用可以使用 NSObject 类的performSelec... 阅读全文
posted @ 2014-11-05 15:34 safiri 阅读(1577) 评论(0) 推荐(0) 编辑
摘要: 讨论:在主队列、串行队列和并发队列上异步执行代码块才能见识到 GCD 的真正实力。要在分派队列上执行异步任务,你必须使用下面这些函数中的其中一个:dispatch_async为了异步执行向分派队列提交一个 Block Object(2 项都通过参数指定)dispatch_async_f为了异步执行向... 阅读全文
posted @ 2014-11-05 11:54 safiri 阅读(439) 评论(0) 推荐(0) 编辑