より良いアプリを実行するためにメモリ管理を理解しようとしていますが、ある時点で停止しました:
私はいくつかを使用しますUIButtons
。だから私はそれらを割り当てたり、それらを操作したりします。しかし、私はそれらをすぐに解放する必要があります。だから私は、画面上に常に有用であり、それが消えたときに解放する必要があるdealloc
すべてのオブジェクトのメソッドを実装します。UIViewController
だから私のUIViewController
私は実装します:
-(void)dealloc
{
NSLog(@"Dealloc call");
[myButton release];
.... //Some objects release
[super dealloc];
}
しかし、Dealloc 呼び出しが印刷されているのを見たことがないので、消えたdealloc
ときにメソッドによって渡されないと思いますUIViewController
。
それで、それはどのように機能しますか?/偽とは何ですか?
ありがとう !
EDIT : viewController の変更方法:
-(void)myMethod
{
if (!nextviewcontroller)
{
nextviewcontroller = [[NextViewController alloc]init];
}
UIView *nextView = nextviewcontroller.view;
UIView *actualView = actualviewcontroller.view;
[actualviewcontroller viewWillAppear:NO];
[nextviewcontroller viewWillDisappear:NO];
[actualView removeFromSuperview];
[self.view addSubview:nextView];
[actualviewcontroller viewDidAppear:NO];
[nextviewcontroller viewDidDisappear:NO];
}