gpt4 book ai didi

iphone - 当推送一个新的 Controller 时,pushViewController 是否应该释放 oldController?

转载 作者:行者123 更新时间:2023-12-01 18:03:00 26 4
gpt4 key购买 nike

据我了解pushViewController应该释放旧的viewController什么时候推一个新的?

这里我只是创建了两个不同的viewControllers并插入他们。

    UINavigationController *navController = [[UINavigationController alloc] init];
[self.window addSubview:navController.view];

smallLayout = [[SmallViewController alloc] init];
[navController pushViewController:smallLayout animated: NO];
[smallLayout release];

largeLayout = [[LargeViewController alloc] init];
[navController pushViewController:largeLayout animated: NO];
[largeLayout release];

SmallViewController dealloc 永远不会被调用,当我检查保留计数时它仍然是 1。我在运行循环完成后很久才检查保留计数,我也知道保留计数不是你应该信任的东西。

最佳答案

不,不应该……

导航 Controller 维护所有推送到它的 View Controller 的导航堆栈......所以当您返回或弹出当前 View Controller 时,前一个 Controller 仍然存在。

导航 Controller 在弹出后会释放一个 View Controller 。

关于iphone - 当推送一个新的 Controller 时,pushViewController 是否应该释放 oldController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5815509/

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