Только для информации, я новичок в 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, все работает нормально, ячейки заполнены.
Спасибо за помощь