Junior — Middle
Yadda və necə zəif əlaqələr yaddaş idarəetmə sistemlərində həyata keçirilir?
sobes.tech Süni İntellekt
AI-dan cavab
iOS-da zəif istinadlar (weak references) avtomatik istinad sayımı (ARC) yaddaş idarəetmə sisteminin səviyyəsində həyata keçirilir. Onlar güclü istinad döngələrini qarşısını almaq üçün istifadə olunur, bu da yaddaş sızmalarına səbəb ola bilər.
Zəif istinad obyekti üçün istinad sayğacını artırmır, ona görə də obyekt zəif istinadlar olsa belə sərbəst buraxıla bilər. Obyekt sərbəst buraxıldıqdan sonra, zəif istinadlar avtomatik olaraq nil-ə təyin olunur.
İcra:
- Objective-C və Swift-də zəif istinadlar
__weak(Objective-C) və yaweak(Swift) açar sözü ilə elan edilir. - ARC güclü və zəif istinadları izləyir və obyekt, güclü istinadlar qalmadıqda sərbəst buraxılır.
Swift-də nümunə:
class Person {
weak var delegate: SomeDelegate? // zəif istinad
}
Beləliklə, zəif istinadlar kompilyator və iş vaxtında ARC tərəfindən həyata keçirilir, bu da obyektlərin döngüsel tutma olmadan avtomatik yaddaş idarəsini təmin edir.