1

我一直在努力研究如何使用表格视图,老实说,我有点卡住了。我想使用行数有限的表格视图(比如最多 50 行)。它从空开始,有 0 行。然后我想做一些类似的事情:

[self logMessage:@"Waiting for response"];

它在底部插入一个带有上述文本的新行。如果我再次调用这个伪函数:

[self logMessage:@"Server response received"];

它应该在前一行下方插入另一个新行,并确保它是可见的。一旦达到上述 50 条限制并插入新消息,我希望删除最旧的消息。所有这些都是可滚动的,默认情况下最新的是可见的。

我在寻找正确的做法吗?最后,我希望把它放在主窗口下方的一个漂亮的小抽屉里,如果需要,我可以从主菜单中切换。但正如我所说,我无法弄清楚如何正确使用表格视图,它似乎不像其他对象那样直接。

任何示例代码将不胜感激!

4

1 回答 1

1

由于日志查看器是 a 的只读应用程序UITableView,因此一旦您了解了基础知识,您的操作方式就相当简单。回想一下,表视图依赖于它们的数据模型来为它们提供需要显示的正确信息。

“日志的最后 50 行”的数据模型可以像NSMutableArray: 用于insertObject:atIndex:添加行和removeLastObject删除“溢出”行一样简单,如下所示:

NSMutableArray *logLines = [NSMutableArray array]; // <<== this goes into the init method

-(void) addLogLine:(NSString*)line {
    [logLines insertObject:line atIndex:0];
    while (logLines.count > 50) {
        [logLines removeLastObject];
    }
}

现在您可以将其用作表格的“模型”:数据提供者可以通过查看;logLines来判断有多少行。logLines.count表中每一行的内容将是 中相应索引处的对象logLines,依此类推。查看UITableView您最喜欢的 iOs 教程部分,了解需要编写的“样板代码”,以便在UITableView.

于 2012-07-08T23:19:06.627 回答