SORU
30 Temmuz 2012, PAZARTESİ


Objective-C eşdeğer Android'In iOS/AsyncTask

Android AsyncTask kullanarak aşinayım: bir alt sınıf oluşturmak, alt sınıflar üzerinde execute arayıp onPostExecute UI iş parçacığı ana iş parçacığı denir.İOS karşılığı nedir?

CEVAP
30 Temmuz 2012, PAZARTESİ


Grand central arka planda görevleri yerine benzer bir şekilde sevk etti. Bir şey olmayan bir şekilde yapmayı, sadece bir sıra (bir iplik gibi) oluşturmak ve arka planda yapılacak bir blok sonra geçmesi gerekiyor.

dispatch_queue_t queue = dispatch_queue_create("com.yourdomain.yourappname", NULL);
dispatch_async(queue, ^{
    //code to be executed in the background
});

documentation eğer çok eğimlidir eğer konu hakkında çok daha fazla bilgi vardır.

Edit 1:

Eğer arka planda bir görevi gerçekleştirmek ve bittiğinde UI (veya başka bir iş parçacığı üzerinde bir şeyler yap) güncellemek istiyorsanız, sadece yuva çağırır gibi gönderme

dispatch_queue_t queue = dispatch_queue_create("com.yourdomain.yourappname", NULL);
dispatch_async(queue, ^{
    //code to be executed in the background
    dispatch_async(dispatch_get_main_queue(), ^{
        //code to be executed on the main thread when background task is finished
    });
});

Edit 2:

Bir kuyruk oluştururken, aynı zamanda dispatch_get_global_queue() bir küresel belli bir öncelik sırası sevk almak için işlevi (DISPATCH_QUEUE_PRIORITY_HIGH) kullanabilirsiniz. Bu sıralar evrensel olarak erişilebilir ve sıra/aynı konu için birden fazla görev atamak istediğinizde kullanışlıdır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caramthros

    Caramthros

    10 AĞUSTOS 2007
  • Makeup Lover

    Makeup Lover

    12 HAZİRAN 2011
  • spyib

    spyib

    9 Ocak 2007