gpt4 book ai didi

ios - 同时弹出并推送到同一 View 后未调用 viewDidLoad() 方法

转载 作者:行者123 更新时间:2023-11-28 18:30:28 24 4
gpt4 key购买 nike

我在开始时将此代码用于导航 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com