CoreData 找到 indexPath 的入口

Posted

技术标签:

【中文标题】CoreData 找到 indexPath 的入口【英文标题】:CoreData find indexPath of entry 【发布时间】:2015-06-28 19:21:42 【问题描述】:

我有一个带有实体Person 和一个名为name 的属性的CoreData 模型。我将 4 个字符串存储到 namePetePaulDanJo)中。现在我想找出 indexPath Paul 有哪个。我该怎么做?

我的 CoreData 模型:

【问题讨论】:

核心数据对象没有索引路径。索引路径可以(例如)描述表格视图中行的位置。你能澄清一下你真正想要达到的目标吗? 我在 UITableView 中显示名称列表(Pete、Paul、Dan 和 Jo),并希望找出名称 Paul 的 indexPath。所以显示名称 Paul 的单元格的 indexPath。 @MartinR 你明白我在做什么吗? 您是否有 4 个 Person 对象,每个对象都有一个 name,或者您是否有一个 Person 对象和一个 name 字符串属性,其中列出了用逗号分隔的括号中的名称?跨度> 你有解决办法吗? 【参考方案1】:

要在表格视图中显示核心数据实体,您应该使用NSFetchedResultsController。一项要求是您获取的实体必须经过排序,因此索引路径是明确的。

要在获取的结果控制器驱动的表视图中查找 Person 对象的索引路径,请使用

let indexPath = self.fetchedResultsController.indexPathForObject(person)!

【讨论】:

首先非常感谢您的回答!是的,我使用NSFetchedResultsController。我用我的核心数据模型更新了我的问题。名称(PetePaulDanJo)存储在 name 中。现在我想找出显示Paul的单元格的indexPath。 你有解决办法吗?

以上是关于CoreData 找到 indexPath 的入口的主要内容,如果未能解决你的问题,请参考以下文章

使用 UISearchBar 使用 prepareForSegue 传递 indexPath.row 时遇到问题

错误:'inout IndexPath' 不能转换为 'IndexPath'

将 indexPath 减一

NSFetchedResultsController didChangeObject indexPath 为空

NSFetchedResultsController 在错误的 indexPath 中添加项目

如果 indexPath 已知,则从 Core Data 中删除条目