Junior — Middle
Yopiq ichida self kalit so'zi qanday rol o'ynaydi?
sobes.tech AI
AIdan javob
Swift tilida, yopilishlar ichida self kalit so‘zi sinf yoki tuzilmaning joriy nusxasiga aniq ko‘rsatish uchun ishlatiladi, ayniqsa yopilish selfni ushlayotgan bo‘lsa.
Bu kuchli murojaat aylanishlarini (retain cycles) oldini olish uchun muhimdir, ular xotira oqishlariga olib kelishi mumkin. selfni ushlayotgan yopilishlarda, odatda, selfni zaif ([weak self]) yoki shartsiz zaif ([unowned self]) ushlash ishlatiladi.
Misol:
class ViewController {
var name = "Main"
func doSomething() {
DispatchQueue.main.asyncAfter(deadline: .now() + 1) { [weak self] in
guard let self = self else { return }
print(self.name) // bu yerda `self` aniq ishlatiladi
}
}
}
Bu yerda, yopilish ichidagi self, joriy ob’ektga ishora qiladi va uning ishlatilishi mahalliy o‘zgarishlar bilan chalkashliklarni oldini olishga va ob’ektning hayot aylanishini boshqarishga yordam beradi.