gpt4 book ai didi

iphone - 使用 KVO 重新加载 UITableView 中的数据

转载 作者:可可西里 更新时间:2023-11-01 04:44:46 38 4
gpt4 key购买 nike

我最近一直在扩展我的视野,并试图开始在我的编程中更多地使用 KVO。

我的 iPhone 应用程序中有一个 View Controller ,它充当 UITableView 的数据源和委托(delegate)。我还有一个单例模型 Controller ,它协调使用从网络获取的数据填充我的模型。

在我的 View Controller 中,我请求模型的 Controller 从网络加载新数据。然后我可以观察单例的“数据集”属性,并在将项目添加到集合或从集合中删除时接收 KVO 通知。

现在,我的表格 View 中的每个单元格都有一个指示器,用于指定该单元格中的内容是否已被阅读(就像邮件中的蓝色“未读”点)。像邮件一样,选择一行时,我将显示有关该行的详细信息。在详细 View 的 viewDidLoad 中,我将对象的“read”属性设置为 YES。我希望原始 View Controller 能够观察数据集中每个对象的这个“读取”属性,以便 [tableView reloadData] 可以根据需要自动调用并重绘没有蓝点的单元格。

在对此进行研究时,我发现了以下链接:http://homepage.mac.com/mmalc/CocoaExamples/controllers.html#observingACollection

据此,看起来我将执行以下操作:
1)做数组的观察者
2) 每当我收到数组更改的通知时,我都会添加(或删除)自己作为我感兴趣的各个属性的观察者。
3) 当我收到我感兴趣的属性发生变化的通知时,我可以调用 [tableView reloadData]

我目前正在尝试实现这种方法。任何有这方面经验的人都可以就这种方法提供一些建议吗?如果这是处理此类情况的最佳方式?

如果这是正确的方法,有人愿意分享他们在集合更改时添加/删除集合中对象的观察者的实现吗?

谢谢!

最佳答案

我认为您可以通过使用 Core Data 和 Fetched Results Controller 来完成这项任务。我相信这可以为您节省很多工作。这是一个很好的指南:Ray Wenderlich Core Data Tutorial, getting started

关于iphone - 使用 KVO 重新加载 UITableView 中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7759118/

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