上の非同期タスクの実行順序、彼らは(1、2、3、など)が含まれて番号順に実行print文以下のコードでメインキュー
override func viewDidLoad() {
super.viewDidLoad()
DispatchQueue.main.async {
print("4")
}
print("1")
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
DispatchQueue.main.async {
print("5")
}
print("2")
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
DispatchQueue.main.async {
print("6")
}
print("3")
}
あなたはなぜ、実行説明することができますプロセスはこのように行われますか? viewDidLoad
にブロックを非同期にディスパッチすると、viewWillAppear
とviewWillAppear
メソッドはすでにキューに入っていますか?私たちは非同期viewDidLoad
でブロックを派遣する際
私は本当に他に何が期待できるか分かりません...あなたは精巧にできますか? –
なぜそれではないですか:1,4,2,5,3,6?私はなぜディスパッチブロックはVCライフサイクルの対応するメソッドの直後に実行されないのですか? – Legonaftik
非同期呼び出しを行っている場合、なぜそれらが連続していると思われますか? – Alexander