UIViewControllerのNSArrayを持っていて、配列にリリースを送信すると、UIViewControllersごとにviewDidUnloadまたはdeallocが呼び出されますか?どちらか?UIViewControllerのNSArrayにリリースを送信していますか?
- (void) viewDidLoad {
UIViewController* profileController = [[ProfileController alloc] init];
..........
//all the other controllers get allocated same way
self.viewControllers = [[NSMutableArray alloc] initWithObjects: profileController, dietController, exerciseController, progressController, friendsController, nil];
[profileController release];
//other controllers get released same way ....
}
- (void) dealloc {
[viewControllers release];
NSLog("DEALLOC!");
//I know dealloc is being called
//what happens to the view controllers?
}
が、私はこれらのビューコントローラのそれぞれについて、viewDidUnloadとのdeallocメソッドにブレークポイントを入れて、それらが呼び出されません。
は、ここで私がやっているものです。
うわー。私は完全にそれを逃した...あなたは絶対に正しいです。私は通常NSMutableArray = [[NSMutableArray alloc] init ...]と[a release]のような一時変数を使用しますが、今回は簡潔にしておきました。ありがとうございました –