7

我想在我的表格视图中显示来自网络的不同数据,但我不知道如何在表格的一个部分的单独单元格中显示它们,任何人都可以帮助我在一个单元格中显示

cell.textLabel.text=app.i_name;

在第二个单元格中

cell.textLabel.text=app.i_phone;

在第三个牢房

cell.textLabel.text=app.i_hours;

在第四个单元格中

cell.textLabel.text=app.i_address;

在第五个牢房

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 回答
-1
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.

    [self tableInfo];
}


- (void) tableInfo
{

    NSArray *keysArray = @[@"CampaignsName",@"BusinessName",@"BusinessType",@"CampaignsType",@"Distance",@"Daysleft",@"CampaignImage",];

    NSArray *valuesArray1 =[NSArray arrayWithObjects:@"5 % OFF ",@"Coffe Shop",@"1",@"1",@"0.10 Miles",@"5 days Left",@"b2.png", nil];

    NSArray *valuesArray2 = [NSArray arrayWithObjects:@"win $2 for you & charity ",@"Red Tommato",@"2",@"2",@"20 Miles",@"2 days Left",@"b1.png", nil];

    NSArray *valuesArray3 = [NSArray arrayWithObjects:@"Buy dogs food & get a one more",@"Pet Care",@"3",@"3", @"30 Miles",@"10 days Left",@"b2.png", nil];

    NSArray *valuesArray4 =[NSArray arrayWithObjects:@"win $2 for you & charity ",@"Red Tommato",@"1",@"1",@"0.10 Miles",@"7 days Left",@"b2.png", nil];



    NSDictionary *dict1 = [NSDictionary dictionaryWithObjects:valuesArray1 forKeys:keysArray];

    NSDictionary *dict2 = [NSDictionary dictionaryWithObjects:valuesArray2 forKeys:keysArray];

    NSDictionary *dict3 = [NSDictionary dictionaryWithObjects:valuesArray3 forKeys:keysArray];

    NSDictionary *dict4 = [NSDictionary dictionaryWithObjects:valuesArray4 forKeys:keysArray];



    self.tableArray = [[NSArray alloc]initWithObjects:dict1,dict2,dict3,dict4,dict3,dict1,dict4,dict2,nil];
    NSLog(@"Array %@",tableArray);
    [self.tableObj reloadData];
}

#pragma  mark table view datasource

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

}

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

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

    UITableViewCell *cell = [self tableCustomView:tableView cellForRowAtIndexPath:indexPath];
    return cell;
}

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



    static NSString *CellIdentifier1 = @"CustomCellIdentifier";
    static NSString *CellIdentifier2 = @"CustomCellIdentifier2";


    if (indexPath.row % 2 != 0)
    {
        CustomCell2 *cell2 = [tableView dequeueReusableCellWithIdentifier:CellIdentifier2];
        if (cell2 == nil)
        {

            NSArray *topObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell2" owner:self options:nil];
            cell2 = [topObjects objectAtIndex:0];
        }


        id object = [self.tableArray objectAtIndex:indexPath.row];


        cell2.CampaignsNameLbl.text = [NSString stringWithFormat:@"%@",[object valueForKey:@"CampaignsName"]];
        cell2.BusinessNameLbl.text = [NSString stringWithFormat:@"%@",[object valueForKey:@"BusinessName"]];
        cell2.DistanceLbl.text = [NSString stringWithFormat:@"%@",[object valueForKey:@"Distance"]];
        cell2.DaysleftLbl.text = [NSString stringWithFormat:@"%@",[object valueForKey:@"Daysleft"]];

        cell2.cellBackImg.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@",[object valueForKey:@"CampaignImage"]]];


        int businessType = [[NSString stringWithFormat:@"%@",[object valueForKey:@"BusinessType"]] integerValue];

        NSLog(@": %d",businessType);

        switch (businessType)
        {


            case 1:

                cell2.cellBusinessTypeImg.image = [UIImage imageNamed:@"RETL@2x.png"];

                break;
            case 2:

                cell2.cellBusinessTypeImg.image = [UIImage imageNamed:@"BTY.png"];

                break;
            case 3:

                cell2.cellBusinessTypeImg.image = [UIImage imageNamed:@"t1.png"];

                break;

            default:
                break;
        }


        int CampaignsType = [[NSString stringWithFormat:@"%@",[object valueForKey:@"CampaignsType"]] integerValue];

        switch (CampaignsType)
        {

            case 1:

                cell2.cellOverLayBusinessTypeImg.image = [UIImage imageNamed:@"t3.png"];

                break;
            case 2:

                cell2.cellOverLayBusinessTypeImg.image = [UIImage imageNamed:@"t2.png"];

                break;
            case 3:

                cell2.cellOverLayBusinessTypeImg.image = [UIImage imageNamed:@"t1.png"];

                break;

            default:
                break;
        }

        mainCell = cell2 ;


    }

    else
    {
        CustomCell1 *cell1 = [tableView dequeueReusableCellWithIdentifier:CellIdentifier1];
        if (cell1 == nil)
        {

            NSArray *topObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell1" owner:self options:nil];
            cell1 = [topObjects objectAtIndex:0];
        }


        id object = [self.tableArray objectAtIndex:indexPath.row];


        cell1.CampaignsNameLbl.text = [NSString stringWithFormat:@"%@",[object valueForKey:@"CampaignsName"]];
        cell1.BusinessNameLbl.text = [NSString stringWithFormat:@"%@",[object valueForKey:@"BusinessName"]];
        cell1.DistanceLbl.text = [NSString stringWithFormat:@"%@",[object valueForKey:@"Distance"]];
        cell1.DaysleftLbl.text = [NSString stringWithFormat:@"%@",[object valueForKey:@"Daysleft"]];

        cell1.cellBackImg.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@",[object valueForKey:@"CampaignImage"]]];


        int businessType = [[NSString stringWithFormat:@"%@",[object valueForKey:@"BusinessType"]] integerValue];

        NSLog(@": %d",businessType);

        switch (businessType)
        {


            case 1:

                cell1.cellBusinessTypeImg.image = [UIImage imageNamed:@"RETL@2x.png"];

                break;
            case 2:

                cell1.cellBusinessTypeImg.image = [UIImage imageNamed:@"BTY.png"];

                break;
            case 3:

                cell1.cellBusinessTypeImg.image = [UIImage imageNamed:@"t1.png"];

                break;

            default:
                break;
        }


        int CampaignsType = [[NSString stringWithFormat:@"%@",[object valueForKey:@"CampaignsType"]] integerValue];

        switch (CampaignsType)
        {

            case 1:

                cell1.cellOverLayBusinessTypeImg.image = [UIImage imageNamed:@"t3.png"];

                break;
            case 2:

                cell1.cellOverLayBusinessTypeImg.image = [UIImage imageNamed:@"t2.png"];

                break;
            case 3:

                cell1.cellOverLayBusinessTypeImg.image = [UIImage imageNamed:@"t1.png"];

                break;

            default:
                break;
        }

        mainCell = cell1 ;
    }


    return mainCell;

    NSLog(@"Index Path is :%d %d", indexPath.section,indexPath.row);
}
于 2014-05-13T10:24:38.970 回答