如何拿到coredata数据的index
时间: 2023-06-16 11:06:02 浏览: 183
lire获取index
在 Core Data 中,你可以通过执行一个 fetch 请求来获取一系列对象。这些对象是按照你所指定的排序方式进行排序的,并且它们在一个数组中返回。因此,你可以使用数组的 index(of:) 方法来查找某个特定对象的索引。
例如,如果你有一个名为 "Person" 的实体,并且你想要按照 "name" 属性进行排序,那么你可以使用以下代码来获取这些对象:
```
let fetchRequest: NSFetchRequest<Person> = Person.fetchRequest()
let sortDescriptor = NSSortDescriptor(key: "name", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor]
do {
let people = try context.fetch(fetchRequest)
if let index = people.index(of: person) {
// index 就是 person 在 people 数组中的索引
}
} catch {
print("Error fetching people: \(error)")
}
```
在上面的代码中,我们首先创建了一个 fetch 请求,并指定了一个按照 "name" 属性进行排序的排序描述符。然后,我们执行该请求,从上下文中获取一系列人物对象,并查找特定 person 对象的索引。如果找到了该对象,则 index 就是该对象在 people 数组中的索引。
阅读全文