如何在tableview中创建包含许多数据的单元格

时间:2013-04-15 10:07:21

标签: ios objective-c uitableview nsmutablearray

我是iphone的新手,我想知道什么可以创建具有许多像这样的对象单元格的tableview:

NSMutableArray *animal = [[NSMutableArray alloc]initWithObjects:@"Lion",@"Tiger",@"Dog",@"Cat",@"Sheep",@"Wolf", nil];

在tableview中,点击下一页上的任何单元格fo是第一个对象的许多对象的tableview(如:狮子1,狮子2,狮子3,狮子4,狮子5,......)

所以我想在tableview中另外创建tableview ...

请指导我。感谢!!!

3 个答案:

答案 0 :(得分:0)

使用下表View的方法

#pragma mark -
#pragma mark TableView data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    // Return the number of sections.
    return 1;
}


    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
        // Return the number of rows in the section.
        return animal.count;
    }


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

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

     cell.textLabel.text = [array objectAtIdex:indexPath.row];

    return cell;
}

以下方法用于触发操作当您从UITableView中选择行时。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
         // Create Object of you SecondViewController for go on.
     SecondViewController *tlController = [[SecondViewController alloc] init];
     tlController.animalName = [array objectAtIndex:insexpath.row];// here you need to pass name of animal on SecondViewController, and in SecondViewController you need to display animal name related to pass from previous view controller.

     [self.navigationController pushViewController:tlController animated:YES];

}

答案 1 :(得分:0)

首先,您需要设置tableview的数据源并通过xib进行委托。

现在要在tableview中返回numberofrows,有一个委托方法

  
      
  • (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {}
  •   

在这里你可以返回animal.count; 如果你的数组中有10个对象,这将创建10个单元格。

> 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {  UITableViewCell
    *cell = [tableView dequeueReusableCellWithIdentifier:@"MyIdentifier"];
         if (cell == nil) {
              cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"MyIdentifier"] autorelease];
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
        }

        cell.textLabel.text = [animal objectatIndex:indexpath.ro];
        return cell;
}

这将返回tableview,其中包含动物数组中存在的对象。 然后在获得选定行的细节之后,有一种方法,didselectrowatindexpath。尝试谷歌搜索它。 就是这样..;)

答案 2 :(得分:0)

请在此处发布任何问题之前做更好的研究。可以帮助您UITableView