我正在轮询一个HTTP API——它一次返回一个项目,实时(大约每4秒一次)。收到每个项目后,我希望填充一个新的UITableView单元格。收到的项目的完整列表必须保留在类属性中,我猜是nsmutableArray。将nsmutableArray初始化为类属性、在新信息出现时更新它,然后使用计数更新新的uiTableViewCell的最佳方法是什么?
以下是我如何向nsmutabledictionary添加内容:
NSMutableDictionary *messageContents = [[NSMutableDictionary alloc] init];
[messageContents retain];
[messageContents setValue:messageText forKey:@"text"];
[messageContents setValue:image forKey:@"image"];
[self addMessageToDataArray:messageContents];
下面是将对象填充到数组中的方法:
- (void)addMessageToDataArray:(NSArray *)messageDictionary {
[self.messageDataArray addObject:messageDictionary];
NSLog(@"count = %@", [self.messageDataArray count]);
[self reloadTableData];
}
此时,对messagedataarray类属性的调用计数会使应用程序崩溃。我非常习惯在actionscript中使用数组,obj-c显然是完全不同的。请解释将nsmutablerray实例化为类属性的方法,将其填充为nsmutabledictionary,然后查找nsmutablerray计数(将实时动态更新),以便我可以使用该信息更新uitableview(动态)。
或者…告诉我我很傻,建议一个更简单的解决方案。