Не удается отобразить данные из веб-службы в UITableView (ASIHTTPRequest) - PullRequest
1 голос
/ 28 марта 2012

Только для информации, я новичок в Xcode Dev.

У меня проблема с отображением данных из веб-службы в UITableView.

Я использую ASIHttpRequest для создания HTTP-запроса на получение данных JSON с веб-сервера. Мой запрос построен следующим образом (с параметром JSON и реализован в методах viewDidLoad):

 NSString *jsonString = @"login";


NSString *URL = @"MyURL";

NSURL *filactuURL = [NSURL URLWithString:URL];


ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:filactuURL];
[request  setRequestMethod:@"POST"];
[request addRequestHeader:@"User-Agent" value:@"ASIHTTPRequest"]; 
[request addRequestHeader:@"Content-Type" value:@"application/json"];
[request appendPostData:[jsonString  dataUsingEncoding:NSUTF8StringEncoding]]; 



[request setDelegate:self];


[request startAsynchronous];

Затем я получаю ответ с этим кодом:

-(void) requestFinished: (ASIHTTPRequest *) request {

    NSString *theJSON = [request responseString];

    SBJsonParser *parser = [[SBJsonParser alloc] init];

    id message = [parser objectWithString:theJSON error:nil];

    if ([message isKindOfClass:[NSDictionary class]])
    {

        //Not used

    }
    else if ([message isKindOfClass:[NSArray class]])
    {
        for(int i = 0; i < [message count]; i++)
        {
            for (NSDictionary *dic in message) {

                Message *messsage = [[Message alloc] init];

                messsage.expediteur = [dic objectForKey:@"expediteur"];

                messsage.titre = [dic objectForKey:@"titre"] ;

                messsage.date = [dic objectForKey:@"date"] ;

                messsage.contenu = [dic objectForKey:@"contenu"] ;

                [tableau addObject:messsage];

                [messsage release];

            }

        }
      [theJSON release];   
    }  
}

Сервер отправляет мне данные JSON, я анализирую их с помощью SBJSon и заполняю объект Message. Этот объект будет использоваться для заполнения ячеек TableView. После получения ответа возникает проблема: ячейки пусты, но приложение не падает, и у меня нет ошибок.

Я пробовал с жестко сохраненными данными JSON, все работает нормально, ячейки заполнены.

Спасибо за помощь

1 Ответ

0 голосов
/ 04 марта 2015

Я сделал подобный тип программы, которую можно найти здесь

Единственная проблема заключается в том, что я получаю записи только первой страницы.Но я думаю, что этот пример поможет в решении вашей проблемы.

...