【发布时间】:2015-09-21 09:08:48
【问题描述】:
我在开始时将这段代码用于导航视图控制器
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
splashViewController *rootVC = [[splashViewController alloc]initWithNibName:@"splashViewController" bundle:nil];
self.navigator = [[UINavigationController alloc] initWithRootViewController:rootVC];
self.window.rootViewController = self.navigator;
[self.window makeKeyAndVisible];
之后我使用这个简单的方法推送到下一个视图
ScoreboardListViewController *SLvc = [[ScoreboardListViewController alloc]initWithNibName:@"ScoreboardListViewController" bundle:nil];
[self.navigationController pushViewController:SLvc animated:YES];
并使用它从视图中弹出
[self.navigationController popViewControllerAnimated:YES];
但是当我弹出并再次推送到具有不同属性值的同一视图时,viewdidload 方法没有运行
只有当我只是到任何其他视图然后推送到这个视图时它才会运行
我无法理解这种异常行为。当我推送到任何视图时,应该执行这个 viewdidload .....
例如,我这样做是为了查看视图 ->
SLvc.trigger = @"sold";
SLvc.lblHeader.text = value;
[self.navigationController pushViewController:SLvc animated:YES];
-> 然后我使用这个按钮通过后退按钮弹出
[self.navigationController popViewControllerAnimated:YES];
-> 然后我推送到具有不同属性的相同视图
SLvc.trigger = @"earning";
SLvc.lblHeader.text = value;
[self.navigationController pushViewController:SLvc animated:YES]
这一次 viewdidload 没有运行。
【问题讨论】:
-
向我显示代码,您再次推送具有不同属性的同一个 Viewcontroller
-
你是推送同一个实例还是创建一个新的 slvc 实例?
-
您好,感谢您的回复.....我已经用精确值更新了我的问题......请检查
标签: ios objective-c