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

  • FrameCityJackal

    FrameCityJac

    4 Aralık 2010
  • ibebrent

    ibebrent

    23 Temmuz 2007
  • Project Mooncircle

    Project Moon

    6 Aralık 2009