这可能是非常基础的。但是,我不太确定在以下情况下是否需要代表? 委托(delegate)是否以同步方式使用?如果是,在作为委托(delegate)的调用者调用的函数中调用委托(delegate)方法是否合适[如下例]?
class FooViewController: UIViewController {
func login() {
let loginHelper = LoginHelper()
loginHelper.fooDelegate = self
loginHelper.shouldEnableLogin()
}
func enableLogin() {
// Do some UI updates
}
func reset() {
// Clear some values in the views
}
}
class LoginHelper {
weak var delegate: fooDelegate?
func shouldEnableLogin() {
//clear some text views
delegate.reset()
//do some validation, synchronous
delegate.enableLogin()
}
}
最佳答案
委托(delegate)是一种设计模式,允许一个对象在特定事件发生时向另一个对象发送消息。想象一个对象 A 调用一个对象 B 来执行一个 Action 。一旦 Action 完成,对象 A 应该知道 B 已经完成任务并采取必要的 Action ,这可以在委托(delegate)的帮助下实现!
关于ios - 这里需要代表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49442731/