Мой UITableView пуст после заполнения массива. Но если я нажму кнопку «Назад» и вернусь в заполненную.UITableView пуст при загрузке из XML-массива
если я загрузить
xmlParser = [[XMLParser alloc] loadXMLByURL:@"http://google.com?xml.php?"];
в ViewDidLoad
затем его штрафом, но это занимает несколько секунд, чтобы синтаксический анализатор.
Так я добавил эту линию в:
- (void)viewDidAppear:(BOOL)animated {
if ([[xmlParser branch] count] == 0) {
xmlParser = [[XMLParser alloc] loadXMLByURL:@"http://google.com?xml.php?"];
}
}
Причина, почему то, потому что я хотел XML для парсера в то время как MapView
нагрузки первой.
В моем основном контролере монитора есть как MapView
, так и UITableView
; оба установлены как делегаты.
в моем ParserXML.m (XML имеет свой собственный файл NSObject файл) У меня есть таблица перезагружается
- (void)parserDidEndDocument:(NSXMLParser *)parser {
NSLog(@"all done!");
NSLog(@"stories array has %d items", [_branch count]);
tableViews = [Maplocator alloc];
[tableViews.tableView reloadData];
}
Мои аннотаций заполнены для MapView
, но не мой UITableView
, но если я нажимаю назад, а затем нажмите на карту опять же, его заполнили. (Но занимает несколько секунд)
Вы уже назначили xmlParser? Потому что он должен указывать на 'viewDidAppear', должен вызывать исключение. – ipinak
Кроме того, вы вызываете только 'alloc' внутри' parserDidEndDocument', почему? Я думаю, вы тоже должны инициализировать. – ipinak
Вы называете [super viewDidAppear] ;? – iiFreeman