0

私の計画は、Web サービスから json をフェッチし、json のセクションを含むグループ化されたテーブルビューに結果を表示することです。

私のjsonソフ​​ァ:

{
"Building 1":[{"title":"Room 1","id":"1"},{"title":"Room 2","id":"11"},{"title":"Room 3","id":"12"}],
"Building 2":[{"title":"Room 1","id":"37"},{"title":"Room 2","id":"23"}],
"Building 3":[{"title":"Room 1","id":"9"},{"title":"Room 2","id":"3"}]
}

私はそれを取得して書き出すことができます

-(void)connectionDidFinishLoading: (NSURLConnection *)connection
{
    NSDictionary *json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:nil];
    NSLog(@"array contains %@",json);

    [self.tableView reloadData];
}

しかし、残りをセクションヘッダー付きのテーブルビューで表示する方法: 建物 1 部屋 1 部屋 2 部屋 3 建物 2 部屋 1

等々?

4

1 に答える 1

0

動的プロトタイプ UITableviewcell (または必要なセクションを含む静的セル) を作成し、データを配列から UITableviewCells にロードします。Tableview デリゲート メソッドを使用して、データを uitableviewcells にロードできます。

サンプルコード:

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

    - (NSInteger)tableView: (UITableView *)tableView numberOfRowsInSection: (NSInteger)section
    {
        //NSLog(@"inputplayerslist count=%d",[playerPositionList count]);
        return [playerPositionList count];
    }




    - (UITableViewCell *)tableView: (UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath
    {
        AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
        UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"ChooseAPlayer"];

        NSString *ImagName =[[appDelegate.userSelection objectForKey:@"sportValue"] stringByAppendingString:@"Player.png"];
        UIImageView *playerGraphicImage = (UIImageView *)[self.view viewWithTag:31];
        [playerGraphicImage setImage:[UIImage imageNamed:ImagName]];

        UILabel *lblName = (UILabel *)[cell viewWithTag:101];
        [lblName setText:[playerPositionList objectAtIndex:[indexPath row]]];
        UILabel *Teams = (UILabel *)[cell viewWithTag:103];
        [Teams setText:[playerTeamidList objectAtIndex:[indexPath row]]];

        UILabel *AwayTeams = (UILabel *)[cell viewWithTag:104];
        [AwayTeams setText:[playerOPTeamidList objectAtIndex:[indexPath row]]];

        UILabel *PlayersPrice = (UILabel *)[cell viewWithTag:105];
        [PlayersPrice setText:[playerPriceList objectAtIndex:[indexPath row]]];
}
于 2013-02-25T09:48:04.443 に答える