作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在开始时将此代码用于导航 View Controller
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];
之后我使用这个简单的方法推送到下一个 View
ScoreboardListViewController *SLvc = [[ScoreboardListViewController alloc]initWithNibName:@"ScoreboardListViewController" bundle:nil];
[self.navigationController pushViewController:SLvc animated:YES];
并使用它从 View 中弹出
[self.navigationController popViewControllerAnimated:YES];
但是当我弹出并再次推送到具有不同属性值的相同 View 时,viewdidload 方法没有运行
它仅在我只是到任何其他 View 然后推送到该 View 时运行
我无法理解这种异常行为。每当我推送到任何 View 时,应该执行此 viewdidload.....
例如,我这样做是为了获得 View ->
SLvc.trigger = @"sold";
SLvc.lblHeader.text = value;
[self.navigationController pushViewController:SLvc animated:YES];
-> 然后我使用这个按后退按钮弹出
[self.navigationController popViewControllerAnimated:YES];
-> 然后我推送到具有不同属性的相同 View
SLvc.trigger = @"earning";
SLvc.lblHeader.text = value;
[self.navigationController pushViewController:SLvc animated:YES]
这次 viewdidload 没有运行。
最佳答案
这是因为您持有指向 SLvc Controller 的强指针。当你弹出它时, View Controller 被保留。每次按下时初始化一个新 Controller 将解决您的问题。
关于ios - 同时弹出并推送到同一 View 后未调用 viewDidLoad() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32691312/
我是一名优秀的程序员,十分优秀!