Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
delegate [2023/09/19 07:09] oresh.dm |
delegate [2023/09/19 07:20] (текущий) oresh.dm |
||
|---|---|---|---|
| Строка 3: | Строка 3: | ||
| // **Делегатор** - тот кто ставит задачу. // | // **Делегатор** - тот кто ставит задачу. // | ||
| - | //**Тип делегата** - протокол. какими свойствами и методами должен обладать делегат. | + | //**Тип делегата** - протокол. какими свойствами и методами должен обладать делегат. |
| // | // | ||
| Строка 15: | Строка 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: | ||
| + | } | ||
| } | } | ||
| Строка 24: | Строка 38: | ||
| return count | return count | ||
| } | } | ||
| - | } | + | |
| + | |||
| + | let officiant = Officiant() | ||
| + | |||
| + | let client = Client() | ||
| + | |||
| + | client.visitCoffeHouse(cofeMaker : officiant) | ||
| + | client.buyCoffe(amount: | ||
| + | |||
| + | |||
| + | |||
| + | | ||