我有一个由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 ];
}
答案 0 :(得分:1)
在将详细视图控制器推送到导航堆栈之前,您应该传递当前所选行的字典。
NSString *key = [myKeyArray objectAtIndex:indexPath.row];
NSDictionary *myDictionary = [MyDictionaryArray objectForKey:key];
dvc.details = myDictionary;
显然,您需要在自定义details
课程中声明TableViewController
属性。