Давно искали решение, но пока безуспешно, возможно, кто-то здесь может мне помочь.
Я создал приложение, которое запускает поток, который взаимодействует с веб-сервером в фоновом режиме. Иногда поток получает информацию, которую я хотел бы отобразить в UITableView. Из-за динамического характера содержимого я решил, что NSMutableArray должен быть достаточным для хранения информации с веб-сервера.
Всякий раз, когда я получаю информацию от веб-службы, мой AppDelegate отправляет уведомление. Мой UITableView регистрируется для получения определенных видов информации, которые я намереваюсь показать в UITableView.
Метод initWithStyle UITableViewController содержит следующий код:
- (void)addContact:(NSNotification *)note {
NSLog(@"%@", [note object]);
NSString *message = (NSString *)[note object];
NSString *name = [[message componentsSeparatedByString:@":"] objectAtIndex:2];
contact = name;
[array addObject:contact];
}
- (void)viewDidLoad {
[super viewDidLoad];
array = [[NSMutableArray alloc] initWithObjects:@"test1", @"test2", nil];
tv.dataSource = self;
tv.delegate = self;
self.tableView = tv;
}
Массив в AddContact содержит данные, отображаемые в TableView. Все данные, которые я вручную добавляю в массив в ViewDidLoad: будут показаны в таблице, но этого не происходит для данных, добавленных в метод AddContact:
Кто-нибудь понял, что я делаю не так?