Nsdictionary推送详细信息视图

时间:2013-09-14 16:29:47

标签: ios objective-c uitableview

我有一个由NSDictionary填充的tableview(主/详细信息)。 masterview显示所有键的列表,现在,我想要detailview(也是可以访问的)来显示值。例如主表中的键1有几个值,我希望在详细视图中显示,

这是我的tableview

-

 (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell==nil)
    {
        cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    }
    NSString *key = [myKeyArray objectAtIndex:indexPath.row];
    NSDictionary *myDictionary = [MyDictionaryArray objectForKey:key];

    cell.textLabel.text=key;

    cell.accessoryType=UITableViewCellAccessoryDetailDisclosureButton;

    }
    return cell

    //this gives me a list of all keys which is fine
}


-(void)tableView:(UITableView *)tableview didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{
    TableViewController *dvc=[[TableViewController alloc] init];


    //this is where I am stuck, I want the details to be pushed to the next tableview   

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

}

1 个答案:

答案 0 :(得分:1)

在将详细视图控制器推送到导航堆栈之前,您应该传递当前所选行的字典。

NSString *key = [myKeyArray objectAtIndex:indexPath.row];
NSDictionary *myDictionary = [MyDictionaryArray objectForKey:key];

dvc.details = myDictionary;

显然,您需要在自定义details课程中声明TableViewController属性。