Junior — Middle
არის თუ არა Swift-ში ავტომატური მეხსიერების მართვა, მსგავსი GC სხვა ენებში?
sobes.tech AI
პასუხი AI-სგან
Swift-ში კლასიკურ გაგარ კოლექციონერს (GC) არ გამოიყენება, როგორც Java ან C#-ში. ამის ნაცვლად, Swift იყენებს ავტომატურ მითითებების რაოდენობის (ARC — Automatic Reference Counting) სისტემას. ARC ავტომატურად აკონტროლებს ობიექტზე მითითებების რაოდენობას და გაათავისუფლებს მეხსიერებას, როდესაც მითითებები აღარ რჩება.
მაგალითი:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
var person1: Person? = Person(name: "Ivan")
var person2 = person1 // ზრდის მითითებების რაოდენობას
person1 = nil // ობიექტი ჯერ კიდევ ცოცხალია, რადგან person2 მასზე მიუთითებს
person2 = nil // ახლა ობიექტი გათავისუფლებულია
ამ გზით, ARC ავტომატურად მუშაობს, მაგრამ გარეშე პაუზებისა და დამატებითი ხარჯების, რომლებიც ტრადიციულ გარაბიჯ კოლექციონერებს ახასიათებს.