何らかの理由で、デリゲートメソッドがメインビューコントローラで呼び出されていません。私はここで別の答えを探していたが、それらのうちのどれも私のためには役に立たなかった。私はここに何かを逃していますかデリゲートによってスウィフトプロトコルメソッドが呼び出されていない
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'がnullでないことを、確認しましたか? – clemens
何らかの理由で 'nil'です。しかしなぜそれが「無」であるのか分かりません。 – bohdankoshyrets
デリゲートをまったく設定しましたか? – gnasher729