gpt4 book ai didi

ios - Viewcontroller Dealloc 方法永远不会被调用

转载 作者:行者123 更新时间:2023-11-29 02:01:27 24 4
gpt4 key购买 nike

我知道有很多这样的问题。我都读了。我的问题很简单。

我从 xcode 文件>新项目>单 View 应用程序创建了一个单 View 应用程序。然后我在 Storyboard中添加了第二个 uiviewcontroller 和一个名为 secondViewController 的新 viewcontroller 类。我将一个按钮拖到主视图 Controller ,然后按 ctrl+拖动到 Storyboard上的 secondViewController。我在 SecondViewController 中做了相反的事情。并且刚刚将带有 nslog 的 dealloc 函数添加到类文件中。我还添加了对 uibuttons 的弱引用

当 View 改变时,每个 View Controller 的 Dealloc 方法都不会被调用。

ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"viewDidLoad 1");
// Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

- (void)dealloc {
NSLog(@"dealloc 1");
}

SeconViewController.m

#import "SecondViewController.h"

@interface SecondViewController ()

@end

@implementation SecondViewController

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

- (void)dealloc {
NSLog(@"dealloc 2");

}
@end

ARC 已启用。

僵尸似乎在产品>编辑方案中被禁用。我正在使用 xcode 6.2。在仪器分配屏幕内存中,每次切换都会增加。

问题是什么,我找不到?

最佳答案

当对象(这里是它的 viewcontroller 对象)从内存中滑出时调用 dealloc。但是在你的情况下,你必须从另一个呈现 View Controller ,这导致只调用 viewwilldisappear 和 diddisappear。

在 Storyboard 中,如果你想从内存中完全删除那些 View Controller ,你应该调用 unwind segue

关于ios - Viewcontroller Dealloc 方法永远不会被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30331710/

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