SORU
5 HAZİRAN 2014, PERŞEMBE


Ne kadar hızlı bir arka plan iş parçacığı kullanmak için?

Hey orada kimse swift parçacığı nasıl kullanacağımı biliyorum

dispatchOnMainThread:^{

    NSLog(@"Block Executed On %s", dispatch_queue_get_label(dispatch_get_current_queue()));

}];

CEVAP
31 Temmuz 2014, PERŞEMBE


İOS 8 ve OS X 10.10 için Apple hizmet sınıfları kalitesini tanıttı. Swift bu nedenle modern sözdizimi aşağıdaki gibidir:

let qualityOfServiceClass = QOS_CLASS_BACKGROUND
let backgroundQueue = dispatch_get_global_queue(qualityOfServiceClass, 0)
dispatch_async(backgroundQueue, {
    println("This is run on the background queue")

   dispatch_async(dispatch_get_main_queue(), { () -> Void in
        println("This is run on the main queue, after the previous code in outer block")
    })
})

Tüm hizmet sınıfların yeni kalite

  1. QOS_CLASS_USER_İNTERACTİVE
  2. QOS_CLASS_USER_İNİTİATED
  3. QOS_CLASS_UTİLİTY
  4. QOS_CLASS_BACKGROUND

Daha fazla bilgi için Apples documentation bkz

Swift 1.2 – sorun, Bilinen ön

Swift 1.1 olarak Apple bazı değişiklikler olmadan yukarıdaki sözdizimi desteği yoktu. QOS_CLASS_BACKGROUND aslında, yerine işe yaramadı geçen Int(QOS_CLASS_BACKGROUND.value) kullanın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • guau . .

    guau . .

    25 Ocak 2008
  • ShotgunSandwichENT

    ShotgunSandw

    3 EKİM 2012
  • Thehalopianoplayer

    Thehalopiano

    4 ŞUBAT 2011