سلام من چجوری یک تیبل ویو لود مور ایجاد کنم ؟
من کدها رو نوشتم هر موقع ته لیست میرسه میخونه ولی اد نمیشه ته لیستم بلکه لیستم ری لود میشه
//این کلاس من
var news = [NewsElement]()
// این کد برای این که ته لیستم برسه ریکوست بزنه
override func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
if scrollView == tableView {
if ((scrollView.contentOffset.y + scrollView.frame.size.height) >= scrollView.contentSize.height) {
if !listNews.isLoadingFooterShowing() {
self.loadMore()
}
}
}
}
// این متد لود مور من هستش
func loadMore() {
self.offset = String(Int(offset)! + 10)
self.getJsonNews(type:"newest", offset: offset)
self.listNews.showLoadingFooter()
// اینجا من اپند کردم ولی اپند نمیشه بلکه ری لود میشه
self.news.insert(contentsOf: news + news, at: news.count)
DispatchQueue.global().async {
DispatchQueue.main.sync {
self.listNews.reloadData()
self.listNews.hideLoadingFooter()
}
}
}
// متد من برای ریکوستزدن
func getJsonNews(type:String , offset:String) {
let parameters = [
"limit":"10",
"offset":offset,
"type":type
]
let parametersH:HTTPHeaders = [
"Authorization":"Basic ==",
"x-api-key":"mykeyg154658746546546544s8ck8" ,
]
Alamofire.request(GET_NEWS, method: .post , parameters: parameters , headers: parametersH ).responseJSON { (response) in
print(response.result)
switch response.result {
case .success:
guard let data = response.data else {return}
do
{
let json = JSONDecoder()
let decode = try json.decode(News.self, from: data)
self.news = decode
DispatchQueue.global().async {
DispatchQueue.main.sync {
self.listNews.reloadData()
self.viewIndicator.alpha = 0
self.loadIndicator.alpha = 0
self.listNews.hideLoader()
}
}
} catch let err {
print(err)
}
case .failure(let error):
print(error)
}
}
}
پاسخ ها