delegate

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
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 = "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) 
 +  }
   }   }
  
Строка 23: Строка 38:
   return count    return count 
   }   }
-}+  } 
 +   
 +  let officiant = Officiant() 
 +   
 +  let client = Client() 
 +   
 +  client.visitCoffeHouse(cofeMaker : officiant) 
 +  client.buyCoffe(amount: 2000) 
 +   
 +   
 +   
 +  
  • /sites/data/attic/delegate.1695107330.txt.gz
  • Последнее изменение: 2023/09/19 07:08
  • oresh.dm