iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0

在之前的文章當中,有一個小地方沒有說到,就是在API3的程式中的function是有用閉包,而為什麼要用到閉包呢?
因為如果你沒有用到閉包,在程式跑個過程是非同步的,所以不會去等待接API的等待時間,會直接跑完,所以會造成一個現象就是,明明有連接到資料,但是資料卻沒有呈現出來,所以我們需要寫閉包。

func CallAPI(finish: @escaping (() -> Void)) {
finish()
}

在完成連接取的資料後再finish()
並且在viewDidload下打
在連接資料時是非同步的,所以要把它切回主線成

CallAPI {
            DispatchQueue.main.async {
                self.tableView.reloadData()
            }
        }

上一篇
Day17 天氣API 4
下一篇
Day19 泛型API1
系列文
swift 新手路程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言