ユーザーがUITableViewの一番下に来ると、私は自分のUITableViewにさらに多くの行を追加しようとしています。私はより多くのデータを呼び出すために一番下までスクロールしてみたらしかし、私が言うのエラーが表示されます。ここでは改ページ時にUITableViewに行を追加するには?
fatal error: Index out of range
は私のコードです:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let contentOffset = scrollView.contentOffset.y
let maximumOffset = scrollView.contentSize.height - scrollView.frame.size.height;
if !isLoadingMore && (maximumOffset - contentOffset <= threshold) {
self.isLoadingMore = true
DispatchQueue.main.async() {
self.fetchMovieData()
self.isLoadingMore = false
}
}
}
私もどのように多くの行を追跡していますより多くのデータが呼び出されるように私のテーブルビューは、私のROWNUMBER数に加えるに追加された:
:私は私の要求を作っていますのはここvar rowNumber: Int = 0
です
self.tableView.reloadData()
より多くのデータや、私が欠けているものがあると私のテーブルビューを追加するために:
func fetchMovieData(_ url: String,_ params: Dictionary<String, String>) {
if more {
Alamofire.request(url, parameters: params)
.responseJSON {
response in
switch response.result {
case .success(let value):
self.currentPageNumber += 1
let json = JSON(value)
self.movieObject = [MovieModel.init(data: json)]
self.rowNumber += self.movieObject[0].movieList[0].movieDict.count
self.tableView.reloadData()
case .failure(let error):
print(error)
}
}
}
}
は、だから私は、私の質問は、私が呼び出しされなければならないですね?
まあ、これはそれを行う必要があります。これはこれで、あなたの機能を置き換えるためにしようと解決するために
。あなたの問題はここにあるようです: 'self.movieObject = ...' - 古いモデルを置き換えて新しいモデルを作成します。新しいデータを追加できるように、モデルオブジェクトを構築する必要があります。 – Losiowaty