Sobes.tech
Junior — Middle

Оё таҷрибаи пайдо кардан ва бартараф кардани шикастҳои хотира ё захираҳо дар лоиҳаҳои худ дорӣ?

sobes.tech AI

Ҷавоб аз AI

Бале, дар лоиҳаҳои iOS ман бо шишаи хотира рӯбарӯ шудам, одатан бо истинодҳои циклически байни объектҳо, масалан, байни closure ва синфҳо. Барои ёфтани чунин шишаҳоро, ман аз воситаҳои Instruments дар Xcode бо профилҳои Leaks ва Allocations истифода кардам.

Шишаҳоро бо истифода аз истинодҳои заиф (weak) ё беҳуқуқ (unowned) дар ҷойҳое, ки зарур буд, барои қатъ кардани циклҳои нигоҳдорӣ, бартараф кардам. Ҳамчунин, дар бораи озод кардани манбаъҳо ва азнавпайваст кардани огоҳиномаҳо тафтиш кардам.

Масалан, истинод заиф дар closure:

class ViewController: UIViewController {
    var closure: (() -> Void)?

    func setupClosure() {
        closure = { [weak self] in
            guard let self = self else { return }
            print(self.view)
        }
    }
}