Sobes.tech
Junior — Middle

რა მოხდება მეხსიერებაში ობიექტთან, თუ მასზე აქტიური მიმთითვლები აღარ არსებობს?

sobes.tech AI

პასუხი AI-სგან

თუ iOS-ის მეხსიერებაში ობიექტს აღარ აქვს აქტიური მიმთითებლები (ანუ, მიმთითებლების გამრიცხველმა მიაღწია ნულს), სისტემა ავტომატურად გაათავისუფლებს ამ ობიექტის მიერ დაკავებულ მეხსიერებას. ეს ხდება ავტომატური მეხსიერების მართვის მექანიზმის — ARC-ის (ავტომატური მიმთითებლების გამრიცხველის) საშუალებით.

მაგალითი:

class MyClass {}

var obj: MyClass? = MyClass() // მიმთითებლების გამრიცხველი = 1
obj = nil // მიმთითებლების გამრიცხველი = 0, ობიექტი მეხსიერებიდან ამოიღება

ამ გზით, როდესაც ობიექტი ხდება მიუწვდომელი, ARC-ი მას წაშლის და თავიდან აიცილებს მეხსიერების გაჟონვას.