Swift中GCD与NSOperation相关
生活随笔
收集整理的這篇文章主要介紹了
Swift中GCD与NSOperation相关
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
GCD
Swift 3必看:從使用場景了解GCD新API
常用寫法:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {doSomething() // 耗時操作dispatch_async(dispatch_get_main_queue()) {updateUI() // 更新主線程} }如果運行一系列的任務,希望當任務全部結束后運行另一個任務:
let queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) let group = dispatch_group_create() for (id obj in array) {dispatch_group_async(group, queue) {self.doWork(obj)} } dispatch_group_notify(group, queue) {self.doneWork } // 如果是在OS X 10.8或iOS 6以及之后版本中使用,Dispatch Queue將會由ARC自動管理,如果是在此之前的版本,需要自己手動釋放 // dispatch_release(group)延時調用:
func after(inSeconds seconds: Double, closure: () -> ()) {let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(seconds * Double(NSEC_PER_SEC)))dispatch_after(delayTime, dispatch_get_main_queue(), closure) } after(0.4) {// do stuff }NSOperation
還在用GCD?來看看NSOperation吧
轉載于:https://www.cnblogs.com/duelsol/p/4994965.html
總結
以上是生活随笔為你收集整理的Swift中GCD与NSOperation相关的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Egit Patch
- 下一篇: 交易性金融资产有哪些