在使用table view獲取列表資料時,若一次將資料全數拉回,

當資料量大的時候會消耗非常久的時間,

因此常常會將資料分裝成一個個「桶子」,比如說一桶有20筆資料,

一次只向server要20筆資料,就不會發生讀資料讀到天荒地老的狀況,

而向server要資料的時機點除了一開始的初始資料以外,

在使用者滑動列表到最下方時,才開始讀取下一段資料。

有幾個方法可以判斷table view/collection view需要load下一筆資料:

一、利用cellForItemAtIndexPath delegate

需要多加一個布林值判斷是否需要load更多資料,

以避免重複打server api造成資源浪費。

二、利用scroll view的content offset

reload_distance是指在table view滑到最底,且當使用者再滑動table view到某個值之後,

才開始load下一段資料,一樣需要一個bool來判斷是否需要load下一段資料。

參考來源