递归初始化UITableViewController

时间:2016-07-29 06:55:35

标签: ios uitableview recursion

我有一个名为MachinesListViewController的TableViewController,它在应用程序启动时被加载。 tableview显示的数据是分层树数据,因此项目有子项,而这些子项有子项等等。因此,第一次加载时,它会显示根节点。

我想要做的是,当从MachinesListViewController中选择一个项目时,我想创建相同的MachinesListViewController的另一个实例,以便我可以递归地导航树结构。

NSDictionary *orgObject = [orgStructure objectAtIndex:indexPath.row];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
MachinesListViewController *m = (MachinesListViewController*)[storyboard instantiateViewControllerWithIdentifier:@"MachineListViewController"];
m.orgId = [orgObject objectForKey:@"id"];
[self.navigationController pushViewController:m animated:NO];

代码有效,但我发现相同的UITableView正在更新,并且没有推送新的视图控制器。好像返回并更改了控制器的相同实例。

为了验证我得到控制器的不同实例,我调试了它并打印了对象的内存地址。调试器显示不同的内存地址,所以我不确定我在这里做错了什么。

Memory Address

我不确定发生了什么,并且非常感谢您解决此问题的任何帮助。

0 个答案:

没有答案