gpt4 book ai didi

ios - 核心数据实体的奇怪行为

转载 作者:行者123 更新时间:2023-11-29 02:35:21 25 4
gpt4 key购买 nike

我有这部分代码

    func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

let itemID:NSManagedObjectID = self.frc!.objectAtIndexPath(indexPath).objectID!
let entity:Entity = self.frc?.managedObjectContext.existingObjectWithID(itemID, error: nil) as Entity

if entity.completed {
entity.completed = false
} else {
entity.completed = true
}

println(entity.completed)

}

当事件发生时tableView执行滚动到顶部动画有什么想法吗?

最佳答案

您可能正在以某种方式(未显示)更新您的托管对象数组,也许是通过一些委托(delegate)方法。您很可能在某处调用 tableView.reloadData() 来更新显示的数据。这会自动重新加载整个表格 View 并将滚动到顶部。

相反,只需使用 tableView.reloadRowsAtIndexPaths(rowAnimation:) 更新有问题的单元格 here .

也许您的排序例程(未显示)正在按 completed 属性排序。那么滚动可能是预期的行为。

注意:将 ID 数组作为 dataSource 似乎很奇怪。由于 Core Data 的错误行为,只拥有一个对象数组同样有效。更好的是,您应该使用带有 TableView 的 NSFetchedResultsController - 您可以免费获得很多很酷的行为,并且保证拥有性能和内存管理的最佳解决方案。

关于ios - 核心数据实体的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26427192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com