Junior — Middle
RunLoop döngülerinin farklı çalışma modları ve amaçları hakkında konuşabilir misin?
sobes.tech yapay zeka
AI'dan gelen yanıt
iOS'taki RunLoop, olay kaynaklarını ve zamanlayıcıları yöneten olay işleme döngüsüdür. Birden fazla modda (modes) çalışır ve bu modlar, hangi olayların o anda işleneceğini belirler.
RunLoop'un temel modları:
- Varsayılan Mod (NSDefaultRunLoopMode) — RunLoop'un normal durumda çalıştığı ve standart olayları işlediği ana mod.
- UI Takip Modu (UITrackingRunLoopMode) — kullanıcı arayüzüyle etkileşimde bulunurken, örneğin UIScrollView kaydırılırken kullanılır. Bu modda, RunLoop kaydırma ile ilgili olayları işler ve akıcılığı sağlar.
- Ortak Modlar (NSRunLoopCommonModes) — birkaç modu (örneğin, Varsayılan ve UI Takip) bir araya getiren ve bu modlarda kaydedilen olayların birden fazla modda işlenmesini sağlayan bir küme.
Modların amacı, farklı olay türlerinin işlenmesini izole etmektir; örneğin, kaydırma sırasında diğer olayların işlenmemesini sağlar, böylece arayüz yavaşlamaz.
Örnek: zamanlayıcının kaydırma sırasında da çalışmasını istiyorsanız, onu Ortak Modlara ekmelisiniz:
RunLoop.current.add(timer, forMode: .common)
Bu şekilde, RunLoop modları, uygulamanın optimal çalışması için öncelikleri ve işlenen olay türlerini yönetmeye yardımcı olur.