Ich arbeite an meinem ersten JSON-Beispiel in objective-c und bin auf this großes Tutorial gestoßen, das ich versuche zu reproduzieren. Entlang des Weges entschied ich mich, den JSON zurück in meine bereits funktionierende TableView zu schieben (nur um sicherzustellen, dass ich etwas mit den Daten in der Ansicht machen konnte).Können Sie die Werte für die Tabellenansichtsdatenquelle in "connectionDidFinishLoading" festlegen?
- (void)viewDidLoad {
[super viewDidLoad];
responseData = [[NSMutableData data] retain];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.unpossible.com/misc/lucky_numbers.json"]];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
[connection release];
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
[responseData release];
NSArray *luckyNumbers = [responseString JSONValue];
NSMutableString *text = [NSMutableString stringWithString:@"Nums "];
for (int i = 0; i < [luckyNumbers count]; i++)
[text appendFormat:@"%@", [luckyNumbers objectAtIndex:i]];
self.movies = [[NSArray alloc] initWithObjects:@"First", text, @"Last", nil];
}
Was ich gefunden habe ist, dass, wenn ich das Array gesetzt in „connectionDidFinishLoading“ es nichts in der laufenden Anwendung erscheint - doch wenn ich setzen Sie diese direkt in der „viewDidLoad“ Methode mit 3 einfachen String-Werte es zeigt sich gut.
Wenn ich die laufende Anwendung debuggen sehe ich die JSON-Antwort und die Zeichenfolge sieht gültig aus (keine Probleme, die ich sehen kann).
Ist die Datenquelle für meine TableView bereits vor dieser Methode "connectionDidFinishLoading" in Stein gemeißelt oder habe ich etwas übersehen?