delegate

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
delegate [2023/09/19 07:08]
oresh.dm
delegate [2023/09/19 07:20] (текущий)
oresh.dm
Строка 1: Строка 1:
-**Делегат** - состоит из: //  +**Делегат** - состоит из:  
-**Делегатор** - тот кто ставит задачу. // + 
-**Тип делегата** - протокол. какими свойствами и методами должен обладать делегат. // +// **Делегатор** - тот кто ставит задачу. // 
-**Делегат** - тот кто исполняет задачу.+ 
 +//**Тип делегата** - протокол. какими свойствами и методами должен обладать делегат. //  
 + 
 +//**Делегат** - тот кто исполняет задачу. // 
  
  
Строка 11: Строка 15:
   class Client {   class Client {
   var name = "name"   var name = "name"
-  var cofeMaker: CoffeMakerDelegate +  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) 
 +  }
   }   }
  
Строка 20: Строка 38:
   return count    return count 
   }   }
-}+  } 
 +   
 +  let officiant = Officiant() 
 +   
 +  let client = Client() 
 +   
 +  client.visitCoffeHouse(cofeMaker : officiant) 
 +  client.buyCoffe(amount: 2000) 
 +   
 +   
 +   
 +  
  • /sites/data/attic/delegate.1695107302.txt.gz
  • Последнее изменение: 2023/09/19 07:08
  • oresh.dm