0

我有一个 NSMutableArray 显示为

 (
          13002,
          My Drive,
          13006,
          Testing1,
          13007,
          Testing123    
 )

在我的 NSLog

我想用名称(我的驱动器、测试 1 和测试 123)填充我的 UITableView,并希望使用 ID 作为字幕。

4

4 回答 4

0
NSmutableArray *element; //contains your array

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

    static NSString *cellIdentifier = @"MyCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellIdentifier];

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


    element = [array objectAtIndex:indexPath.row +1 ];
    cell.subtitle.text = element; 
于 2013-03-25T10:08:12.063 回答
0

您还应该考虑使用免费的 Sensible TableView 框架。您只需将数组传递给框架,它就会自动将其显示在表格视图中。

于 2013-03-25T19:08:17.400 回答
0

在 indexpath 方法和行数方法中使用单元格作为行,如下所示

 -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
 {
        return array.count/2;
 }


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
      int row = [indexPath row]*2;

      static NSString *CellIdentifier = @"Cell";

      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
     if (cell == nil) {
              cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
              cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
              cell.textLabel.font = [UIFont boldSystemFontOfSize:14];
     }    

     cell.textLabel.text = [array objectAtIndex:row+1];
     cell.detailTextLabel.text = [array objectAtIndex:row];

     return cell;
}

你的问题会解决...

于 2013-03-25T10:09:45.710 回答
0

根据您的应用程序,您可能需要考虑使用 NSMutableDictionary 而不是数组。这样,您的数据模型将准确地表示这些名称映射到 id 的事实。您可以使用

NSArray *arrayOf Keys = [theDictionary allKeys];

获取字典中的键数组,然后执行以下操作:

cell.textLabel.text = [theDictionary objectForKey:[arrayOfKeys objectAtIndex:indexPath.row]];
cell.detailtextLabel.text = [arrayOfKeys objectAtIndex:indexPath.row];
于 2013-03-25T10:22:31.217 回答