2011-04-06 22 views
1

我正在构建open source version of the native iPhone Messages app called AcaniChat。每条消息都由一个UITableViewCell表示,单元格顶部有时间戳,下面有消息。iPhone Messages应用程序中的每个时间戳都是它自己的单元格吗?

现在,我正在实现条件时间戳,即只显示消息的时间戳,如果该消息是第一个单元格或自上次显示的时间戳以来已经过了15分钟。

当我在iPhone Messages应用程序中进入对话的编辑模式时,它看起来每个时间戳都是它自己的单元格。我想这样做,因为最终,我想添加编辑模式支持。

  1. 那么,基于该indexPath,我怎么知道是否返回时间戳或消息细胞?

  2. 我正在使用NSFetchedResultsController作为消息。那么,如何在特定消息前跟踪我显示的时间戳数量,以便在调用Message *msg = [fetchedResultsController_ objectAtIndexPath:indexPath];时可以将其用作偏移量?

回答

0

viewDidLoad,使fetchRequestMessage对象后,遍历结果并创建一个NSMutableArray *cellMap,你也应该让伊娃。将cellMap的每个元素设置为currentTimestampmessage,具体取决于previousTimestamp

查看该解决方案的ChatViewControllerAcaniChat

+1

死链接或私人回购? – 2012-09-20 16:40:22

+0

@Matt我在船上,就像你几年前一样,我喜欢你的答案,但是,我需要知道,目前,当我收到新消息时,NSFetchedResultController通过代表更新我的表。如果我使用NSMutableArray并将其用于TableView委托/数据源,它将如何工作? – DevCali 2014-02-10 05:58:18

相关问题