In the tableView's willDisplay checks latest cell and then trigger new request for upcoming datas cited as pagination.
I want to keep that custom object array's IDs as unique with upcoming datas too.
I tried below solution to make it, but I wonder that Is there anything to do more efficiently?
let idSet = NSCountedSet(array: (newDatas + self.ourDatas).map { $0.id })
let arr = (newDatas + self.ourDatas).filter { idSet.count(for: $0.id) == 1 }
self.ourDatas = arr // ourDatas is dataSource of tableView
self.tableView.reloadData()
Also above way mixes all datas, how can I continue keeping it as ordered?
You should keep two properties; your array of items (
ourDatas
) and a set of ids (var ourIds = Set<String>()
. I am assuming your ids areStrings
You can do something like this