0

试图UItableview用我的数组填充我的。我想将数组中的对象与正确的单元格匹配。

我的数组如下。

(
        (
                {
            cost = 160;
            height = 1;
            room_number = 1;
            square_size = 1;
            title = "TIMBER BLINDS";
            width = 1;
        }
    ),
        (
                {
            cost = 170;
            height = 1;
            room_number = 2;
            square_size = 1;
            title = "ROMAN BLINDS";
            width = 1;
        }
    )

我的问题是如何根据我的 room_number 将正确的标题与单元格匹配array

谢谢

4

4 回答 4

2

看起来你有一个包含字典的数组数组,所以首先通过 indexPath.row 从数组中获取对象。获取的对象也是一个数组。通过 objectAtIndex 从中获取字典对象。现在您已经访问了字典,因此您可以访问您的键值。

NSMutableArray *fetchedArray= [yourArray objectAtIndex:indexPath.row];
NSDictionary *fetchedDictionary = [fetchedArray objectAtIndex:0];

NSNumber *roomNumber= [fetchedDictionary valueForKey:@"room_number"];
if([roomNumber intValue] == indexPath.row) {
    [cell setTextLabel:[fetchedDictionary valueForKey:@"title"]];
}
于 2013-08-14T13:32:53.320 回答
0

假设您的数组是 self.tableContent

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
     NSDictionary *object = self.tableContent[index.section][index.row];

     ..... some cell code
     cell.title = object[@"title"];
}
于 2013-08-14T13:21:13.760 回答
0

它是数组数组的字典

你可以"room_number"通过

NSString *room_number = [[[myarray1 objectAtIndex:indexPath.section] objectAtIndex:indexPath.row] objectForKey:@"room_number"]
于 2013-08-14T13:22:26.887 回答
0

() -- 这表示数组 {} -- 这表示字典

所以你可以看到你有一个数组数组,每个数组包含一个对象和一个字典。

就Objective C而言,它是这样的:

NSDictionary *dict1 = //first dictionary
NSDictionary *dict2 = //second dictionary

NSArray *mainArray = [NSArray arrayWithObjects: [NSArray arrayWithObject:dict1],[NSArray arrayWithObject:dict2], nil];

要从字典中检索键标题内的值并在 TableView 中显示该值:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
// other code to set up cell
NSDictionary *array =[[mainArray objectAtIndex:indexPath.row] objectAtIndex:0];
cell.textLabel.text = [array objectForKey:@"title"];
return cell;
}
于 2013-08-14T13:31:39.723 回答