Ich versuche, Json mit iOS zu lernen. Ich versuche json Daten mit UITableView
zu implementieren. In meiner Tabellenansicht in Titel und Untertitel werden die Werte angezeigt. Ich kann Daten in Titel laden, aber wenn versuchen, Untertitel zu laden, wird App abgestürzt, weil im Untertitel Ergebnis dieses Feld von JSON und in dem viele Schlüsselpaar Wert gegeben ist. So kann es nicht möglich sein, in der Tabellenansicht in Untertiteln anzuzeigen.How To Check Schlüssel in Schlüsselpaar ist verfügbar oder nicht?
Meine Frage ist, wie kann ich Untertitel laden und wenn Schlüssel in vielen Schlüsselpaar Wert verfügbar ist, wenn Sie auf klicken, wird es umgeleitet, um andere Tabellenansicht für die Anzeige dieser Daten.
Mein Code:
- (void)viewDidLoad {
[super viewDidLoad];
NSData *data=[NSData dataWithContentsOfURL:[NSURL URLWithString:@"https://query.yahooapis.com/v1/public/yql?q=select+*+from+weather.forecast+where+woeid%3D1100661&format=json"]];
NSError *error=nil;
id response=[NSJSONSerialization JSONObjectWithData:data options:
NSJSONReadingMutableContainers | NSJSONReadingMutableLeaves error:&error];
if (error) {
NSLog(@"%@",[error localizedDescription]);
} else {
_query = [response objectForKey:@"query"];
NSLog(@"%@",_query);
_keyArray = [_query allKeys];
}
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [_keyArray count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellIdentifier = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier] ;
}
NSString *key = [_keyArray objectAtIndex:indexPath.row];
//NSString *dictionary = [_query objectForKey:key];
NSString *dictionary = [_query objectForKey:key];
cell.textLabel.text = key;
cell.detailTextLabel.text = dictionary;
return cell;
}
Dank.
Hängt davon ab .. Was möchten Sie in cell.detailTextLabel anzeigen? –
Ich versuche sehr hart zu verstehen, was Sie wirklich als Ausgabe hier bekommen wollen, aber ich kann nicht. Bitte fügen Sie ein Bild hinzu, wo erwähnt wird, was Sie wirklich wollen. –
Wenn der Wert des Untertitels ein neues Wörterbuch ist, möchten Sie die Tabellenansicht erweitern oder in eine neue Tabellenansicht wechseln, um das Unterschlüssel-Wert-Paar anzuzeigen. –