delegate

Делегат - состоит из:

Делегатор - тот кто ставит задачу.

Тип делегата - протокол. какими свойствами и методами должен обладать делегат.

Делегат - тот кто исполняет задачу.

protocol CoffeMakerDelegate {
func makeCoffe(amount: Int) -> Int
}
class Client {
var name = "name"
var cofeMaker: CoffeMakerDelegate?  /- НАШ ДЕЛЕГАТ

func visitCoffeHouse(cofeMaker: CoffeMakerDelegate) {
self.cofeMaker = cofeMaker
}
func goOutCoffeHouse () {
self.cofeMaker  = nil
}

func buyCoffe(amount: Int) {
guard let delegate = cofeMaker  else {
print("Vi ne v cofeyne!")
} 
delegate.makeCoffe(amount: amount)
}
}
struct Officiant: CoffeMakerDelegate {
funk makeCoffe(amount: Int) -> Int {
let price = 350
let count = amount / price
return count 
}
}

let officiant = Officiant()

let client = Client()

client.visitCoffeHouse(cofeMaker : officiant)
client.buyCoffe(amount: 2000)
  • /sites/data/pages/delegate.txt
  • Последнее изменение: 2023/09/19 07:20
  • oresh.dm