таблица загружается до разбора xml, данные не загружаются - PullRequest
0 голосов
/ 15 октября 2011

Когда пользователь щелкает строку в табличном представлении, он переходит к подробному представлению, где анализ XML выполняется в методе viewDiDLoad.Подробное представление загружается до синтаксического анализа XML, вследствие чего число строк равно нулю.

Короче говоря, табличное представление загружается до завершения синтаксического анализа XML.Как этого добиться?Я уже давно сталкиваюсь с этой проблемой ..

Запросить помощь !!

Код viewDidLoad: -

- (void)viewDidLoad
{
self.title = newsTitle;   
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
xmlParser = [[XMLParser alloc] init];
NSString * tblName = [[NSString alloc] init];
int rowsCount;
rowsCount = 10;
tblName = @"bollywood";
[xmlParser loadMovieData:tblName andRowsCount:rowsCount];  
}

Ответы [ 3 ]

1 голос
/ 15 октября 2011

При подключении таблицы к IBOutlet не подключайте источник данных и делегируйте с помощью «FileOwner»

у вас есть делегат парсера xml - (void) parserDidEndDocument: (NSXMLParser *) parser установить источник данных и делегат табличного представления в этом делегате.

0 голосов
/ 15 октября 2011

Использование делегатов.Объявите один протокол

@protocol myProtocol
-(Void)didFinishParsing;
@end

Реализуйте этот метод, когда вы перезагружаете таблицу.

@interface reloadClass <myProtocol> : NSObject{
XMLParser *myParser;
}

   @end
    @implementation reloadClass
    -(void)awakeFromNib
    {
    [myParser setDelegate:self];
    }
    -(void)didFinishParsing
    {
    [mytable reloadData];
    }
    /*your methods*/

Используйте метод didFinishParsing в классе XML Parser.

id <myProtocol>delegate;

После завершения анализа

[delegate didFinishParsing];
0 голосов
/ 15 октября 2011

Через делегатов вы можете управлять этим (то есть отправлять элемент управления в класс XMLParser). После завершения анализа получите контроль bac для текущего класса и загрузите подробный вид.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...