Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
delegate [2023/09/19 07:08] oresh.dm |
delegate [2023/09/19 07:20] (текущий) oresh.dm |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| **Делегат** - состоит из: | **Делегат** - состоит из: | ||
| - | // **Делегатор** - тот кто ставит задачу. | + | // **Делегатор** - тот кто ставит задачу. |
| - | //**Тип делегата** - протокол. какими свойствами и методами должен обладать делегат. | + | //**Тип делегата** - протокол. какими свойствами и методами должен обладать делегат. |
| + | |||
| + | // | ||
| - | // | ||
| Строка 14: | Строка 15: | ||
| class Client { | class Client { | ||
| var name = " | var name = " | ||
| - | var cofeMaker: CoffeMakerDelegate | + | var cofeMaker: CoffeMakerDelegate? /- НАШ ДЕЛЕГАТ |
| + | |||
| + | func visitCoffeHouse(cofeMaker: | ||
| + | self.cofeMaker = cofeMaker | ||
| + | } | ||
| + | func goOutCoffeHouse () { | ||
| + | self.cofeMaker | ||
| + | } | ||
| + | |||
| + | func buyCoffe(amount: | ||
| + | guard let delegate = cofeMaker | ||
| + | print(" | ||
| + | } | ||
| + | delegate.makeCoffe(amount: | ||
| + | } | ||
| } | } | ||
| Строка 23: | Строка 38: | ||
| return count | return count | ||
| } | } | ||
| - | } | + | |
| + | |||
| + | let officiant = Officiant() | ||
| + | |||
| + | let client = Client() | ||
| + | |||
| + | client.visitCoffeHouse(cofeMaker : officiant) | ||
| + | client.buyCoffe(amount: | ||
| + | |||
| + | |||
| + | |||
| + | | ||