reloadData вызывает сбой iOS-приложения

Я делаю запрос Twitter для данных API с помощью:

TWRequest *postRequest = [[TWRequest alloc] initWithURL:[NSURL URLWithString:@"http://search.twitter.com/search.json?q=a2zwedding&include_entities=true"] parameters:nil requestMethod:TWRequestMethodGET];

то я получаю всю обработку запроса с помощью:

[postRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
    // NSString *output;
    NSArray *results;

    if ([urlResponse statusCode] == 200) {
        NSError *jsonParsingError = nil;
        NSDictionary *publicTimeline = [NSJSONSerialization JSONObjectWithData:responseData options:0 error:&jsonParsingError];
        results = [publicTimeline objectForKey:@"results"]; 
    }
    [self performSelectorOnMainThread:@selector(populateTable:) withObject:results waitUntilDone:YES];        
}];

Затем я пытаюсь отобразить «результаты» в UITableView. Мой делегат и источник данных — это тот же контроллер представления, который обрабатывает данные JSON. Мой метод источника данных:

- (NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section

возвращает ноль, если я пытаюсь подсчитать свой массив, потому что мой синтаксический анализ JSON не завершен, когда это вызывается. Если я «верну 1» с помощью этого метода, он правильно отобразит один из результатов моего запроса в Твиттере. Однако, если я использую reloadData, мое приложение падает. Я не могу заставить его отсрочить счет. Есть идеи?


person Community    schedule 10.03.2012    source источник
comment
Как вы создаете свое табличное представление и как вы вызываете reloadData?   -  person Vikings    schedule 10.03.2012
comment
Кроме того, полезно опубликовать сообщение об ошибке, которую вы получаете при сбое.   -  person Vikings    schedule 10.03.2012
comment
Похоже, вы не сохраняете свои данные. Было бы полезно увидеть вашу реализацию populateTable:. Кроме того, вам нужно либо инициализировать переменную результатов при ее объявлении, либо установить ее в nil, если statusCode не равен 200.   -  person davehayden    schedule 10.03.2012