Я опрашиваю 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, очевидно, совершенно другой. Пожалуйста, объясните метод создания экземпляра NSMutableArray как свойства класса, заполнив его NSMutableDictionary, а затем найдите счетчик NSMutableArray (который будет динамически обновляться в режиме реального времени), чтобы я мог использовать эту информацию для обновления UITableView (на лету).
Или ... скажи мне, что я глуп, и предложи гораздо более простое решение.