Sobes.tech
Junior — Middle

Կարող եք տալ նման օրինակ, որը գործառույթով նման է Observer-ին?

sobes.tech AI

Պատասխան AI-ից

Նշանակման նման մոդելը, որը գործառապես նման է Observer-ին, iOS-ում NotificationCenter-ն է: Այն թույլ է տալիս օբյեկտներին գրանցվել ծանուցումների համար և ստանալ հաղորդագրություններ, երբ որոշակի իրադարձություններ տեղի ունենան, ինչը նման է դիտորդի մեխանիզմին:

Նույնպես կարելի է նշել KVO (Key-Value Observing) օրինակ, որը թույլ է տալիս հետևել օբյեկտների հատկությունների փոփոխություններին:

NotificationCenter-ի օգտագործման օրինակ՝

NotificationCenter.default.addObserver(self, selector: #selector(handleNotification), name: .myNotification, object: nil)

@objc func handleNotification(_ notification: Notification) {
    // ծանուցման մշակումը
}

// Ծանուցում ուղարկել
NotificationCenter.default.post(name: .myNotification, object: nil)