У меня есть следующий код, который работает нормально, он получает список элементов из списка в Realm
с именем groceryList
и отображает их на UITableView
в порядке убывания на основе productName.То, что я хотел бы сделать, это прокрутить до последней вставленной строки / элемента в таблице, прямо сейчас, когда вставляется новый элемент, пользователь может не видеть его, так как элементы переупорядочены по алфавиту, а последний элемент может не отображатьсяна tableView.
Как прокрутить до последней вставленной строки / элемента в UITableView?
Realm Objects:
class Item:Object{
@objc dynamic var productName:String = ""
@objc dynamic var isItemActive = true
@objc dynamic var createdAt = NSDate()
}
class ItemList: Object {
@objc dynamic var listName = ""
@objc dynamic var createdAt = NSDate()
let items = List<Item>()
}
UITableView:
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate{
var allItems : Results<Item>!
var groceryList : ItemList!
override func viewDidLoad() {
super.viewDidLoad()
groceryList = realm.objects(ItemList.self).filter("listName = %@", "groceryList").first
updateResultsList()
}
func updateResultsList(){
if let list = groceryList{
allItems = activeList.items.sorted(byKeyPath: "productName", ascending: false)
}
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return allItems.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "reusableCell", for: indexPath) as! CustomCell
let data = allItems[indexPath.row]
cell.displayProductName.text = data.productName
return cell
}
}