gpt4 book ai didi

iOS - 核心数据 - UITableView - 更新计算值 - NSFetchedResultsController

转载 作者:行者123 更新时间:2023-11-28 22:56:09 24 4
gpt4 key购买 nike

概览

  • 我有一个使用核心数据 (NSFetchedResultsController) 和 TableView 的 iOS 项目。我有一个名为“joingDate”的字段。

  • 我在 TableView 单元格上有一组标签来表示数据。

  • 如果加入日期是今天/明天,那么我想显示为“今天”或“明天”,而不是指定实际日期。

  • 我只是在想,我会检查 lastCheckedDate(上次检查日期的时间),如果它超过一天,那么我将不得不更新行中具有加入日期的所有标签和“今天”或“明天”。

  • 在数据库中,“JoiningDate”将存储为日期,只是标签需要以特定格式显示“今天”/“明天”/日期。

我已经实现了以下方法,其中标签“joingDateComments”根据其当前日期进行更新。

- (UITableViewCell *)tableView:(UITableView *)tableView 
cellForRowAtIndexPath:(NSIndexPath *)indexPath

问题

注意 - 我正在使用 NSFetchedResultsController

  1. 更新所有 joiningDate 为今天/明天的行标签的最佳方法是什么?
  2. 我应该重新加载表中的所有记录吗? (但这只会影响几行。)
  3. 我是否应该遍历所有索引并检查和更新。我不确定这是否可行,因为我使用的是 NSFetchedResultsController
  4. 我应该使用 transient 数据,这样我就可以查询数据库并获取今天/明天具有“JoingDate”的记录并更新 transient 字段JoingDateComments,以便那些记录将由 NSFetchedResultsController 自动刷新

回答:

请仔细阅读安德鲁的评论。

最佳答案

用户 1046037,

这真的不是核心数据问题,而是 UITableView 问题。大多数事情都在 -tableView:cellForRowAtIndexPath: 方法中处理。在那里您将选择如何表示单元格。另一个地方是当 NSFetchedResultsController 使用更改的对象调用您时。 (标准的 Core Data TableView Controller 为您编写了这个样板。)换句话说,您不必遍历所有对象。如果你想更精细地控制这些单元格何时更新,你可以监听 did save 通知。然后在 tableView 中查询可见单元格的数组。然后可以使用单元格索引路径来更新单元格内容。

安德鲁

关于iOS - 核心数据 - UITableView - 更新计算值 - NSFetchedResultsController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10768533/

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