导航控制器返回上级界面时,通过属性传值

时间:2021-11-30 20:40:27

关于两个控制器之间的传值,我们知道上级向下级传值可以通过属性传值,那么下级再返回上级时,也可以通过属性传值。方法如下:
比如两个控制器 vocaListCtrl 和 reportCtrl之间,reportCtrl 再返回到上级界面 vocaListCtrl时,

             OIK_VocaListViewController *vocaListCtrl = [reportCtrl.navigationController.viewControllers objectAtIndex:2];

            vocaListCtrl.wordDataArray = reportCtrl.wrongWordArray;

            vocaListCtrl.index = 1;

            vocaListCtrl.indexLabel.text = @"1/100";

            [reportCtrl.navigationController popViewControllerAnimated:YES];


从代码中可以看到,因为导航控制器存储控制器的方式是栈存储,存储到一个数组里,可以通过这个数组取到占容器中的任何一个控制器。取到所要跳转的上级界面之后,可以对它的属性进行一些设置,然后再返回到上级界面。