Wie um zu zeigen, json-Daten in der Tabellen-Ansicht in xcode

ich bin neu auf ios und bin momentan im json-Format. Ich bin nur mit itunes top-10-Alben, die angezeigt werden in der Tabellen-Ansicht erhielt ich Daten, die ich formatiert und angezeigt werden in der Tabelle anzeigen, aber ich kann in der Lage, um anzeigen nur album name, aber ich wollen, die Anzeige alle details des besonderen album, das angezeigt werden soll in der gleichen Zelle.

Hier ist mein vollständiger code

- (void)viewDidLoad
{
    [super viewDidLoad];

    albumtop=[[NSMutableArray alloc]init];

    [[self itunestTable]setDataSource:self];
    [[self itunestTable]setDelegate:self];

    NSURL *url=[NSURL URLWithString:@"https://itunes.apple.com/in/rss/topalbums/limit=10/json"];
    NSURLRequest *req=[NSURLRequest requestWithURL:url];

    connection=[NSURLConnection connectionWithRequest:req delegate:self];
    if(connection)
    {
        albumdata =[[NSMutableData alloc]init];
    }
}

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
    [albumdata setLength:0];
}

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    [albumdata appendData:data];
}

-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
    NSLog(@"error in connection");
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    NSDictionary *alldata =[NSJSONSerialization JSONObjectWithData:albumdata options:0 error:nil];
    NSDictionary *album =[alldata objectForKey:@"feed"];
    NSArray *total =[album objectForKey:@"entry"];

    for(NSDictionary *top in total)
    {
        NSDictionary *albumname =[top objectForKey:@"im:artist" ];
        title =[albumname objectForKey:@"label"];
        [albumtop addObject:title];
    }
    [[self itunestTable]reloadData];
}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [albumtop count];
}

-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{    
    static NSString *cellidentifier=@"cell";
    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:cellidentifier];

    if(!cell)
    {
        cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellidentifier];
    }

    cell.textLabel.text=[albumtop objectAtIndex:indexPath.row];
    return cell;
}

Programm gut funktioniert

Meine Ausgabe wie folgt

 ---------------------------------
      Jones

---------------------------------------
     carry Kim

---------------------------------------

kann ich in der Lage zu Holen einzigen Wert nur wie kann ich die Anzeige alle details des Albums wie diesem

----------------------------------
  Jones
  no.tracks 10
  price 180
---------------------------------------
  carry Kim
  no.tracks 10
  price 180
---------------------------------------

wie kann ich erreichen, das mir helfen.. vielen Dank im Voraus

  • Studieren Sie die Dokumentation.
  • (Tipp: Zuerst alle Daten kombinieren in einem einzigen NSMutableArray mit zB NSDictionaries für jede Zeile. Dann brauchen Sie nur, um irgendwie kommunizieren, dass array in der table view delegate-Klasse.)
  • (Und beachten Sie, dass das array aus JSON-parsing ist sehr nahe an der array ich oben erwähnt, wenn nicht gerade es. Das array ist zentral für alles.) (In anderen Worten, nicht verwenden albumTop verwenden total, so lange, wie es enthält alles, was Sie brauchen, und den Eintrag count, etc, korrekt ist. Innerhalb cellForRowAtIndexPath Referenz total extrahieren Sie alle Informationen, die Sie benötigen für eine bestimmte Zeile.)
  • können Sie sagen, mehr aufwendige glaube, ich hab diese zwei Werte wie NSDictionary *albumname =[top objectForKey:@"im:Künstler" ]; NSString title =[albumname objectForKey:@"label"]; NSDictionary *Preis =[top objectForKey:@"im:itemCount" ]; NSString tracks, =[Preis objectForKey:@"label"]; ich habe jetzt beide album-Namen und nicht.tracks wie ich kann sparen Sie beide im gleichen index zum abrufen der in Tabelle
  • Legen Sie alle das Zeug für ein album (das ist meist ein Bündel von NSStrings, Schätze ich) in ein NSMutableDictionary, dann stellen Sie das Wörterbuch in einem NSMutableArray mit einem Eintrag für jedes album. Wenn Sie eine track-Liste, ein array, und legen Sie es in die album-Wörterbuch. Es ist ein ziemlich straight-forward "Baumstruktur", die mit einer einzigen "Wurzel". Wenn Sie nicht wissen, wie ein NSMutableDictionary oder legen Sie etwas hinein, Lesen Sie die Dokumentation-sowohl online und über Xcode.
InformationsquelleAutor Vijay | 2013-08-02
Schreibe einen Kommentar