0

我正在尝试找出实现蓝点的最佳方法,例如未读单元格的邮件应用程序。我有蓝点,但我只是想弄清楚它背后的逻辑。该表由 xml 文件填充。现在我将它设置为这样,当调用解析方法时,它在数据对象中将布尔值设置为 NO。然后当 tableview 自己填充时,如果布尔值为 NO,则显示图像,然后在 didSelectRowAtIndex 期间,我将布尔值设置为 YES,图像消失。问题出在这里,每次我刷新表格时,都会重新解析 xml 并将实例变量重置为 NO 并通知用户未单击单元格。我该如何解决?围绕它的最佳逻辑是什么?

4

2 回答 2

0

不是每次刷新表时都重新解析 XML,而是解析一次,然后将解析出的数据(或字典数组或其他)保存为对象中的变量。

这样,“已读”蓝点或“未读”的状态将在表重新加载之间持续存在。

于 2012-12-22T02:25:03.153 回答
0

Michael Dautermann 在他的回答中提出了一个很好的观点。对于您的情况,提要经常刷新,您可以通过将它们的 ID 存储在那里(无论它们是什么)来保持一组跟踪读取元素的位置。然后,在您的tableView:cellForRowAtIndexPath:方法中,您只需检查当前元素的 id 是否存在于集合中,如果存在则不显示“新”图像。

于 2012-12-22T04:21:47.417 回答