我知道有很多这样的问题。我读了全部。我的问题很简单。
我从xcode文件>新项目>单一视图应用创建了一个视图应用。 然后我在storyboard中添加了第二个uiviewcontroller和一个名为secondViewController的新viewcontroller类。我将一个按钮拖到主视图控制器上,然后通过ctrl +拖动到storyboard上的secondViewController。我在secondViewController中做了反向。并且刚刚将带有nslog的dealloc functins添加到类文件中。我还添加了对uibuttons的弱引用
当视图发生变化时,每个viewcontroller的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。在乐器分配中,每个切换时屏幕内存都会上升。
问题是什么,我找不到?
答案 0 :(得分:1)
dealloc调用。但在这种情况下,你必须相互呈现视图控制器,这些视图控制器只能调用viewwilldisappear并且会消失。
在故事板中,如果要完全从内存中删除这些视图控制器,则应调用unwind segue