在之前的文章當中,有一個小地方沒有說到,就是在API3的程式中的function是有用閉包,而為什麼要用到閉包呢?
因為如果你沒有用到閉包,在程式跑個過程是非同步的,所以不會去等待接API的等待時間,會直接跑完,所以會造成一個現象就是,明明有連接到資料,但是資料卻沒有呈現出來,所以我們需要寫閉包。
func CallAPI(finish: @escaping (() -> Void)) {
finish()
}
在完成連接取的資料後再finish()
並且在viewDidload下打
在連接資料時是非同步的,所以要把它切回主線成
CallAPI {
DispatchQueue.main.async {
self.tableView.reloadData()
}
}