Junior — Middle
როგორ ხორციელდება რესურსების მართვა Reference მონაცემთა ტიპისთვის სისტემაში?
sobes.tech AI
პასუხი AI-სგან
iOS-ში, რეფერენცული ტიპების (მაგალითად, კლასების) რესურსების მართვა ხორციელდება ავტომატური რეფერენციული გამოთვლის (ARC — Automatic Reference Counting) საშუალებით. თითოეულ ობიექტს აქვს რეფერენციული გამოთვლის გამოთვლილი, რომელიც იზრდება ახალი რეფერენციის შექმნისას და მცირდება რეფერენციის წაშლისას. როდესაც გამოთვლილი მიაღწევს ნულს, ობიექტი ავტომატურად თავისუფლდება მეხსიერებიდან.
მაგალითი:
class MyClass {
var value: Int
init(value: Int) {
self.value = value
}
}
var obj1: MyClass? = MyClass(value: 10) // რეფერენციული გამოთვლის რაოდენობა = 1
var obj2 = obj1 // რეფერენციული გამოთვლის რაოდენობა = 2
obj1 = nil // რეფერენციული გამოთვლის რაოდენობა = 1
obj2 = nil // რეფერენციული გამოთვლის რაოდენობა = 0, ობიექტი თავისუფლდება
ამ გზით, ARC ეხმარება მეხსიერების ეფექტიან მართვას, რესურსების ხელით გათავისუფლების საჭიროების გარეშე.