如何获取某个Realm对象在Results中的索引?

问题描述 投票:0回答:1

这是一个例子。

    class Person: Object {
      dynamic var id
      dynamic var name     
    }

    // does this work?
    let sortedPeople = realm.objects(Person).sorted("id")
    let Dave = realm.objects(Person).filter("id=5")

    // at what index does Dave reside in sortedPeople?

我需要找出这一点的原因是因为我有一个设置为sortedPeople的UITableView,但我需要存储最后查看的可见行。 SortedPeople 数组经常变化。因此,如果我可以在 SortedPeople 中找到该人所在位置的索引,我可以创建一个 NSIndexPath 并滚动到该行。

ios swift uitableview realm
1个回答
4
投票

您可以使用

indexOf:
方法来查找特定对象的索引,

试试这个

let sortedPeople = realm.objects(Person).sorted("id")
let Dave = realm.objects(Person).filter("id=5")

//this will return optional Int?
let indexOfDave = sortedPeople.indexOf(Dave)

2023 编辑:现在是

let indexOfDave = sortedPeople.index(of: Dave)
© www.soinside.com 2019 - 2024. All rights reserved.