2012-03-28 3 views
1

Nur zur Information, ich bin ein Neuling in Xcode Dev.Daten von einem Webservice können nicht in UITableView angezeigt werden (ASIHTTPRequest)

Ich habe ein Problem mit der Anzeige von Daten von einem Web-Service in einem UITableView.

Ich benutze ASIHttpRequest, um eine HTTP-Anfrage zu erstellen, um JSON-Daten von einem Webserver zu erhalten. Mein Wunsch ist wie folgt aus (mit einem JSON-Parameter und in viewDidLoad Methoden implementiert) konstruiert:

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]; 

Dann habe ich die Antwort mit diesem Code erhalten:

-(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]; 
    } 
} 

Der Server mich JSON-Daten schicken, ich parse es mit SBJSon und ich befülle ein Message-Objekt. Dieses Objekt wird verwendet, um Zellen eines TableViews zu füllen. Nach der Antwort ist hier das Problem: Zellen sind leer, aber die App stürzt nicht ab und ich habe keinen Fehler.

Ich habe mit hart gespeicherten JSON-Daten versucht, es funktioniert gut, die Zellen sind gefüllt.

Vielen Dank für

Antwort

-1

mitzuhelfen Ich habe eine ähnliche Art von Programm durchgeführt, die nur here

Das einzige Problem ist, dass ich Aufzeichnungen ersten Seite zu finden sind. Aber ich denke, dieses Beispiel wird Ihnen bei der Lösung Ihres Problems helfen.

Verwandte Themen