【发布时间】:2018-01-13 18:46:12
【问题描述】:
由于某种原因,主视图控制器中没有调用委托方法。我在这里寻找另一个答案,但没有一个对我有帮助。我在这里错过了什么吗? (为简单起见,我缩短了原始代码)
主视图控制器:
class VC: ParserDelegate {
var dataSource = Parser()
override func viewDidLoad() {
super.viewDidLoad()
dataSource.delegate = self
dataSourse.loadAndParse()
}
func didReceiveDataUpdates(store: [WeatherModel]) {
print("Delegate method triggered.")
}
}
协议:
protocol ParserDelegate: class {
func didReceiveDataUpdates(store: [WeatherModel])
}
我的委托类:
class Parser {
weak var delegate: ParserDelegate?
func loadAndParse() {
var store = [WeatherModel]()
// Doing something
delegate?.didReceiveDataUpdates(store: store)
}
}
【问题讨论】:
-
您检查过
delegate不为空吗? -
不知为何是
nil。但是为什么是nil我不明白。 -
您是否设置了委托?
标签: ios swift delegation