在tableview中对数据进行排序和存储

时间:2012-02-15 11:29:35

标签: iphone uitableview

我在UITableView中遇到了一些问题。我想在单元格和艺术家ID中显示艺术家姓名,歌曲数量和艺术家图像。这些价值来自网络服务。

表中的部分数等于字母数。

每个部分按artistName按字母顺序排序。

我对该部分进行排序。但是在显示图像和与艺术家名称相对应的歌曲数量方面存在问题。

代码在这里:

 for (int i=0; i<[arrayFromWebServiceParse count]; i++)
    {  
        [artistArray addObject:[[arrayFromWebServiceParse objectAtIndex:i ]objectForKey:@"ArtistName="]];
        [ImgArray addObject:[[arrayFromWebServiceParse objectAtIndex:i ]objectForKey:@"Image="]];
        [SongArray addObject:[[arrayFromWebServiceParse objectAtIndex:i ]objectForKey:@"Songs="]];
        [ArtistIdArray addObject:[[arrayFromWebServiceParse objectAtIndex:i ]objectForKey:@"AID="]];
    }
解析后

arrayFromWebServiceParse

2 个答案:

答案 0 :(得分:1)

而不是让三个数组像这样生成一个NSMutableArray

for (int i=0; i<[arrayFromWebServiceParse count]; i++)
{ 
    NSMutableArray *tempArr=[[[NSMutableArray alloc] init] autorelease];
    [tempArr addObject:[[arrayFromWebServiceParse objectAtIndex:i ]objectForKey:@"ArtistName="]];
    [tempArr addObject:[[arrayFromWebServiceParse objectAtIndex:i ]objectForKey:@"Image="]];
    [tempArr addObject:[[arrayFromWebServiceParse objectAtIndex:i ]objectForKey:@"Songs="]];
    [tempArr addObject:[[arrayFromWebServiceParse objectAtIndex:i ]objectForKey:@"AID="]];
    [artistArray addObject:tempArr];
}

答案 1 :(得分:0)

不是将这些项放在不同的数组中,而是使用3个项创建一个NSDictionary对象并将其添加到数组中。否则,您可以拥有一个包含三个成员的自定义类,并将对象列表添加到数组中。