シングルトンと UIViewController に問題があります。
Singleton.h
@property (nonatomic, retain) UIViewController *viewController;
Singleton.m
...
@synthesize viewController = _viewController;
- (void)load {
self.viewController = [[[UIViewController alloc] initWithNibName:@"NibName" bundle: nil] autorelease];
}
- (void)unload {
[_viewController release];
}
これviewController
は、 を介してアプリケーションの別の部分で使用されますpushViewController:animated:
。でもたまにSingletonクラスのviewController
メソッドを呼んで解放したい!すべてを呼び出すことがない- (void)unload
場合は問題なく、dealloc が呼び出されますが、pushViewController (および viewController が viewDidLoad を実行) の場合、dealloc は機能しません。dealloc 呼び出しのようなことを 2 回行うと...何が間違っているのですか?pushViewController:animated:
viewController
self.viewController = nil;