当我从 中弹出一个UIViewController
实例时UINavigationController
,我发现它的属性仍然存在(NSTimers
保持计时、AVAudioPlayers
继续播放等)。我想知道我的方法有什么问题?
我以这种方式将 UIViewController 实例推送到 UINavigationController 上:
- (IBAction)buttonPressed:(id)sender {
UINavigationController *nc=[self navigationController];
NewViewController *nvc=[[NewViewController alloc] init];
[nvc setNameToUse:[self nameToUse]];
[nc pushViewController:nvc2 animated:YES];
}
NewViewController 有一个子视图控制器,它是通过 NiewViewController 的 viewDidLoad 方法添加的:
self.mySubViewController=[[SubViewViewController alloc] initWithName:self.nameToUse];
self.mySubViewController.view.frame=CGRectMake(0,
0,
self.mySubViewController.view.frame.size.width,
self.mySubViewController.view.frame.size.height);
[self.view addSubview:self.mySubViewController.view];
当 NewViewController 弹出时,SubViewController 的属性不会消失。其中一个特别是计时器,声明如下:
@property (nonatomic) NSTimer *aTimer;
对此的任何建议都会很棒。我希望通过解决这个问题,偶尔发生的崩溃(在应用程序运行 45 分钟左右之后)将停止!或者至少我会更好地了解导致它们的原因...... :) 感谢您的阅读。