【发布时间】:2018-03-23 05:09:20
【问题描述】:
这可能是非常基本的。但是,我不太确定在以下情况下是否需要代表? 委托是否以同步方式使用?如果是,在一个由委托人调用的函数中调用委托方法是否很好[如下例所示]?
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()
}
}
【问题讨论】:
-
视情况而定。您是否在 shouldEnableLogin 中进行一些后台/数据操作?如果不是,那根本没有必要,否则你就在正确的轨道上。
标签: ios swift design-patterns