İçeriğe geç

dispatch_after ile thread geciktirme

İOS

Merhabalar bu yazımda bazen uygulamalarınızda verileri,animasyonları geciktirmek zorunda kalabiliyoruz. Kullandığımız threadler‘den sonra başka threadler zamana bağlı olarak ekleyebiliriz.

Bunun için dispatch_after fonksiyonu bulunmakta. Böylelikle yazdığımız işlemleri delay süresini belirleyip main thread veya normal,serial,background farketmeksizin işleme sokabiliriz.

Thread nedir ? bunu ilerleyen yazımda açıklayacağım ancak kısa ve öz açıklarsak işlemcide yürütülen işlemlerin aynı anda asenkron olarak işlemesine olanak tanır. Yani bir taraftan veri çekerken aynı zamanda animasyon oynatabilir veya farklı işlemleri gerçekleştirebiliriz. İşlemlere öncelik verebilir, yönetebiliriz.

Kullanımı oldukça basit. Aşağıdaki verdiğim şekilde kullanabilirsiniz.

 let delay = 3 * Double(NSEC_PER_SEC)
 let time = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))
        
        dispatch_after(time, dispatch_get_main_queue()) {
            //code
            print("After 3 sec")
        }

 

 

Kategori:iOS

Bu yazı yorumlara kapalı.

Copyright © 2022 Kenan Atmaca