我想加载一个包含数组的表视图,该数组本身有多个字典。这些词典中的每一个都有我需要放入一行的项目,每行一个词典。所有这些词典都存储在一个数组中。
我该如何执行此任务?
谢谢,
请参阅下面的代码,项目是我的数组。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
// id <NSFetchedResultsSectionInfo> sectionInfo = [[self.fetchedResultsController sections] objectAtIndex:section];
return self.projects.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] autorelease];
}
// Configure the cell.
[self configureCell:cell atIndexPath:indexPath];
return cell;
}
- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath {
cell.textLabel.text = [self.projects objectAtIndex:indexPath.row];
}
答案 0 :(得分:4)
你可以用你拥有的东西来做到这一点。您只需要将configureCell:atIndexPath:
方法更改为如下所示:
cell.textLabel.text = [[self.projects objectAtIndex:indexPath.row] objectForKey:@"some_key"];
只需将some_key
更改为NSDictionary
中要显示在UITableViewCell
中的密钥。
您还可以将UITableViewCell
样式更改为UITableViewCellStyleSubtitle
,然后又可以将NSDictionary
中的其他键添加到cell.detailTextLabel
。
答案 1 :(得分:0)
除了edc1591,
如果数组中的字典具有不同的键,则
if([[self.projects objectAtIndex:indexPath.row] count]==1)
{
id key= [[[self.projects objectAtIndex:indexPath.row] allKeys] objectAtIndex:0];
cell.textLabel.text = [[self.projects objectAtIndex:indexPath.row] objectForKey:key];
}