Sobes.tech
Middle

Swift'te yakalama listesi hakkında ne biliyorsunuz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Swift'te capture list, çevresel bağlamdan değişkenlerin yakalanmasını yönetmek için kullanılır, özellikle güçlü referans döngülerini (retain cycle) önlemek için.

Capture list, closure gövdesinden önce köşeli parantezler içinde yazılır ve değişkenlerin nasıl yakalanacağını belirtmeye olanak tanır — güçlü (strong), zayıf (weak) veya sahip olmayan (unowned).

Örnek:

class ViewController {
    var name = "Swift"
    lazy var closure: () -> Void = { [weak self] in
        guard let self = self else { return }
        print(self.name)
    }
}

Burada [weak self], closure içinde self'ye güçlü bir referansın tutulmasını engeller, bu da bellek sızıntılarını önlemeye yardımcı olur.

Bu nedenle, capture list, closure tarafından yakalanan nesnelerin yaşam döngüsünü kontrol etmek için bir araçtır.