私は UINavigationController を使用しています: 私の最初のビューには、このコードを使用して別のビューをプッシュする UIButton があります
- (IBAction)gototrack:(id)sender {
map *map2 = [[map alloc] initWithNibName:@"map" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:map2 animated:YES];
[map2 release];
}
この 2 番目のビューには、オブジェクトの位置を示すマップがあります。このオブジェクトは高速で移動しているため、毎秒位置を更新する必要があります。これは、新しい座標を計算してマップを更新するメソッドを呼び出す NSTimer を使用して実行しています。OK、すべて正常に動作しますが、ユーザーが (NavigationBar の通常のボタンを使用して) ビューをポップすると、NSTimer がまだ機能しているため、この 2 番目のビューを解放できませんでした!
ユーザーがこの 2 番目のビューをポップしたときに NSTimer を無効にして解放するにはどうすればよいですか? 自動的に呼び出されるメソッドはありますか? (やってみたけど何もない)
ありがとう!