Делегат используется для передачи / передачи данных ч / б двумя объектами класса / структуры для выполнения задачи.Например: рассмотрим firstVC (отправитель, делегат или генеральный директор), который отправляет конфиденциальные данные на secondVC (получатель, делегат или секретарь).Это делается путем приведения secondVC в соответствие с
protocol passDataDelegate { func passdata(data: String) }
class secondVC : UIViewController, passDataDelegate {
func passdata(data: String) {
print("CEO passed //(data)")
}
}
class firstVC : UIViewController {
var delegate : passDataDelegate?
}
. Теперь создайте объекты как firstVC, так и secondVC
let sender = firstVC()
let receiver = secondVC()
Так как приемник соответствует протоколу passDataDelegate
.Таким образом, он имеет тип либо UIViewController
, либо passDataDelegate
, потому что если класс соответствует протоколу, то объект его класса может иметь протокол как тип.
Следовательно, назначить sender.delegate = receiver
Теперь мы можем, чтобы Генеральный директор (отправитель) мог передавать данные Секретарю (получателю) через его свойство делегата как
sender.delegate?.passdata("Confidential data")
Output: CEO passed Confidential data
Теперь Секретарь (получатель) может использовать эти данные для выполнения своей дальнейшей задачи.