Junior — Middle
რა მოხდება მეხსიერებაში ობიექტთან, თუ მასზე აქტიური მიმთითვლები აღარ არსებობს?
sobes.tech AI
პასუხი AI-სგან
თუ iOS-ის მეხსიერებაში ობიექტს აღარ აქვს აქტიური მიმთითებლები (ანუ, მიმთითებლების გამრიცხველმა მიაღწია ნულს), სისტემა ავტომატურად გაათავისუფლებს ამ ობიექტის მიერ დაკავებულ მეხსიერებას. ეს ხდება ავტომატური მეხსიერების მართვის მექანიზმის — ARC-ის (ავტომატური მიმთითებლების გამრიცხველის) საშუალებით.
მაგალითი:
class MyClass {}
var obj: MyClass? = MyClass() // მიმთითებლების გამრიცხველი = 1
obj = nil // მიმთითებლების გამრიცხველი = 0, ობიექტი მეხსიერებიდან ამოიღება
ამ გზით, როდესაც ობიექტი ხდება მიუწვდომელი, ARC-ი მას წაშლის და თავიდან აიცილებს მეხსიერების გაჟონვას.