Sobes.tech
Junior — Middle

Чӣ гуна метавон дар идораи хотираҳо истинодҳои даврӣро бартараф кард, то аз рехтани хотираҳо ҷилавгирӣ шавад?

sobes.tech AI

Ҷавоб аз AI

Давриивии пайвандҳо вақте рух медиҳанд, ки ду ё бештар аз як объект ба ҳамдигар ишора мекунанд, ки ин ба озодкунии автоматии хотира монеъ мешавад, махсусан дар истифодаи ҳисобкунии ишораҳо.

Дар iOS (Objective-C/Swift), барои пешгирии шикастани хотира бо сабаби пайвандҳои даврӣ истифода мешаванд:

  • Пайвандҳои суст (weak) — ҳисобкунии ишораҳоро зиёд намекунанд, автоматӣ ба nil тағйир меёбанд вақте ки объект хориҷ мешавад.
  • Пайвандҳои беҳуқуқ (unowned) — ҳисобкунии ишораҳоро зиёд намекунанд, аммо ба nil тағйир намеёбанд, вақте ки объект боварӣ дорад, ки вуҷуд дорад.

Масалан, дар Swift:

class A {
    var b: B?
}

class B {
    weak var a: A?  // пайванди суст барои пешгирии давр
}

Истифодаи weak ё unowned даврро мебурд, ки ба ARC имкон медиҳад, ки объектҳоро дуруст озод кунад ва аз шикастани хотира пешгирӣ кунад.