7

テーブルビューにWebとは異なるデータを表示したいのですが、テーブルの1つのセクションの別々のセルにそれらを表示する方法がわかりません。

cell.textLabel.text=app.i_name;

2番目のセル

cell.textLabel.text=app.i_phone;

3番目のセル

cell.textLabel.text=app.i_hours;

4番目のセル

cell.textLabel.text=app.i_address;

5番目のセル

cell.textLabel.text=app.i_email;

インデックスの行のセルは次のようになります

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    static NSString *CellIdentifier = @"Single Cell";
    SingleCell *cell =(SingleCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];


    if (cell == nil) {
        UIViewController *c = [[UIViewController alloc] initWithNibName:@"SingleCell" bundle:nil];
        cell = (SingleCell *) c.view;
        //[c release];

    }
appDC * application = [dataArray objectAtIndex:[indexPath row]];

        //cell.namelbl.text=application.application_name;


return cell;
}
4

5 に答える 5

5

このコードを試してください:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    static NSString *CellIdentifier = @"Single Cell";
    SingleCell *cell =(SingleCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];


    if (cell == nil) {
        UIViewController *c = [[UIViewController alloc] initWithNibName:@"SingleCell" bundle:nil];
        cell = (SingleCell *) c.view;
        //[c release];

    }
    appDC * application = [dataArray objectAtIndex:[indexPath row]];

    //cell.namelbl.text=application.application_name;
    if (indexPath.row == 0)
    {
        cell.textLabel.text=application.i_name;
    }
    else if (indexPath.row == 1)
    {
        cell.textLabel.text = application.i_iphone;
    }
    else if (indexPath.row == 2)
    {
        cell.textLabel.text = application.i_hours;
    }
    else if (indexPath.row == 3)
    {
        cell.textLabel.text = application.i_address;
    }
    else
    {
        cell.textLabel.text = application.i_email;
    }



    return cell;
}

この回答がお役に立てば幸いです。乾杯

于 2012-12-19T13:51:11.647 に答える
2

私はこのコードを実行することによってこの質問を解決しましたすべての提案に感謝します

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

    static NSString *CellIdentifier = @"CellForInfo";
    CellForInfo *cell =(CellForInfo *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];


    if (cell == nil) {
        UIViewController *c = [[UIViewController alloc] initWithNibName:@"CellForInfo" bundle:nil];
        cell = (CellForInfo *) c.view;
        //[c release];



     }

    appDC * application = [dataArray objectAtIndex:0];
    if (indexPath.row == 0)
    {
        cell.lblinfo.text=application.i_name;
    }
     if (indexPath.row == 1)
    {
        cell.lblinfo.text = application.i_phone;
    }
     if (indexPath.row == 2)
    {
        cell.lblinfo.text = application.i_hours;
    }
     if (indexPath.row == 3)
    {
        cell.lblinfo.text = application.i_address;
    }
    if (indexPath.row == 4)
    {
        cell.lblinfo.text = application.i_email;
    }



    return cell;
}
于 2012-12-20T06:58:33.733 に答える
1

IKQ のコード例は動作するはずです。しかし、TableKitライブラリを試すことをお勧めします。このようにして、コードはより明確でエレガントになります。

- (void)viewDidLoad
{
    [super viewDidLoad];

    TKStaticCell* nameCell = [TKStaticCell cellWithStyle:UITableViewCellStyleValue1 text:@"Name" detailText:app.i_name];
    TKStaticCell* phoneCell = [TKStaticCell cellWithStyle:UITableViewCellStyleValue1 text:@"Phone" detailText:app.i_phone];
    TKStaticCell* hoursCell = [TKStaticCell cellWithStyle:UITableViewCellStyleValue1 text:@"Hours" detailText:app.i_hours];
    TKStaticCell* addressCell = [TKStaticCell cellWithStyle:UITableViewCellStyleValue1 text:@"Address" detailText:app.i_address];
    TKStaticCell* emailCell = [TKStaticCell cellWithStyle:UITableViewCellStyleValue1 text:@"email" detailText:app.i_email];
    TKSection* section = [TKSection sectionWithCells:nameCell, phoneCell, hoursCell, addressCell, emailCell, nil];
    self.sections = [NSArray arrayWithObject:section];
}

また、ライブラリでは、の代わりにカスタム セルを定義できますTKStaticCell

于 2012-12-19T15:04:53.950 に答える
0

このコードを短く使用できます

            CellForInfo * cellForInfo = (CellForInfo *)[tableView dequeueReusableCellWithIdentifier:nil];

            if (cellForInfo ==nil) {
                NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CellForInfo" owner:self options:nil];
                cellForInfo = [nib objectAtIndex:0];
            }
于 2015-01-27T04:07:06.427 に答える