私はビューベースのアプリケーションを持っていて、dealloc メソッドが機能しているかどうかを確認したところ、それが機能していないことがわかりました...デバッグとデバッグを行った後、retainCount を使用すると、プログラムの開始時にビューコントローラーの保持カウントがおかしくなっていることがわかりました...簡単に再現....
新しいビュー ベースのアプリケーション テンプレートを開始し、didFinishLaunchingWithOptions で:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after app launch.
NSLog(@"i1 %i",[viewController retainCount]);
[window addSubview:viewController.view];
NSLog(@"i2 %i",[viewController retainCount]);
[window makeKeyAndVisible];
return YES;
}
私はコンソールに乗りました:
[Session started at 2010-08-07 09:57:34 -0300.]
2010-08-07 09:57:35.132 teste1[20367:207] i1 2
2010-08-07 09:57:35.138 teste1[20367:207] i2 8
これは正しいですか?
次に、iPhoneのホームボタンを押してアプリを閉じると、deallocメソッドが呼び出されません.viewControllerのretainCount....私は正しいですか?
これは、アップルのビュー アプリケーション テンプレートです...動作するはずです...そうではないですか?
最初の保持カウントが2である理由を誰かが説明できますか????? そして他の8??? xibファイルは空です....