Sobes.tech
Middle

როგორ მუშაობს ანგარიშების (retention counts) ძლიერი ბმულებით iOS-ში?

sobes.tech AI

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

მოხერხებული მითითებით ცვლადს ობიექტის მინიჭებისას, ობიექტის მითითებების გამოთვლილი 1-ით იზრდება. როდესაც მოხერხებული მითითება ნულზე ან ფარგლებს გარეთ გადადის, მითითებების გამოთვლილი 1-ით მცირდება. ობიექტი განთავისუფლდება, როდესაც მისი მითითებების გამოთვლილი მიაღწევს ნულს და აღარ აქვს მოხერხებული მითითებები.

მაგალითი:

class MyObject {
    deinit {
        // გამოიძახება ობიექტის განთავისუფლების დროს
        print("MyObject განთავისუფლდა.")
    }
}

var object1: MyObject? = MyObject() // object1 - მოხერხებული მითითება, MyObject-ის მითითებების გამოთვლილი == 1
var object2 = object1 // object2 - მოხერხებული მითითება, MyObject-ის მითითებების გამოთვლილი == 2

object1 = nil // მოხერხებული მითითება object1 ნულზეა დაყენებული, MyObject-ის მითითებების გამოთვლილი == 1
object2 = nil // მოხერხებული მითითება object2 ნულზეა დაყენებული, MyObject-ის მითითებების გამოთვლილი == 0
// MyObject განთავისუფლდა