DahuangPhoneiOSSwift → Swift中使用GCD


  共有8520人关注过本帖树形打印复制链接

主题:Swift中使用GCD

帅哥哟,离线,有人找我吗?
dahuangphone
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:407 积分:4533 威望:0 精华:0 注册:2012/9/29 7:54:10
Swift中使用GCD  发帖心情 Post By:2014/10/14 14:47:37 [只看该作者]

//传统写法

 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),{

       println("code")

       dispatch_async(dispatch_get_main_queue(),{

            println("code")

       })

})


//尾随写法


dispatch_async(dispatch_get_main_queue()){

     println("code")

     dispatch_async(dispatch_get_main_queue()){

          println("code")

     }

}


//block的^{}变成了{}


var array:[AnyObject]=[AnyObject]()

let queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)

let group = dispatch_group_create()

for obj in array{

    dispatch_group_async(group, queue, {

        println("\(obj)")

    })

}

dispatch_group_notify(group, queue, {

    println("finish")

})       

dispatch_release(group)


//尾随写法


var array:[AnyObject]=[AnyObject]()

let queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)

let group = dispatch_group_create()

for obj in array{

    dispatch_group_async(group, queue){

        println("\(obj)")

    }

}

dispatch_group_notify(group, queue){

    println("finish")

}

dispatch_release(group)

        

也可以参考duemunk写的GCD语法糖Async,但这个需要IOS8的支持,https://github.com/duemunk/Async



 回到顶部