ios - 如何从 iphone 中的单个 viewcontroller 停止 tabbar 的三个 viewcontroller 中的计时器?

标签 ios iphone objective-c uiviewcontroller uitabbarcontroller

您好,我正在开发一个 iphone 应用程序,在我的应用程序中,我有一个场景,例如具有两个 UIviewcontroller 的 UItabbar Controller 。在每个 View Controller 中,我都有单独的 nstimer。

我想知道如何从 View Controller 之一停止所有计时器。

我的定时器代码如下

 -(void)startTimer
 {
     if (_timer == nil)
     {
         _timer = [NSTimer scheduledTimerWithTimeInterval:10.0f
                                                   target:self
                                                 selector:@selector(setProgress)
                                                 userInfo:nil
                                                  repeats:YES];
     }
}
- (void)stopTimer
{
     if (_timer != nil)
     {
         [_timer invalidate];
         _timer = nil;
     }
}
 -(void)setProgress
 {
     [self stopTimer];
     [self initmethod];
 }

如果我从一个 uiviewcontroller 导航到任何其他页面,我只是停止并通过回调方法调用。如果我从一个 uiviewcontroller 导航到其他页面意味着我想停止所有三个 uiviewcontroller 中的所有计时器。

最佳答案

子类 uitabbarcontroller 并添加方法“stopAllTimers”。该方法将遍历其 viewController 数组,向每个 Controller 发送一条“stopTimer”消息。

关于ios - 如何从 iphone 中的单个 viewcontroller 停止 tabbar 的三个 viewcontroller 中的计时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19859324/

相关文章:

ios - 调整 tableView 的 tableHeaderView 大小以考虑属性文本?

ios - 如何在 Mapkit Swift 中随机放置注释

c++ - 在 iOS 中使用 C++ fuzzylite 库和 ObjC(模糊逻辑)

iphone - Apple 音频框架之间有什么区别?

ios - 如何更改uitableview单元格内图像的位置

ios - 手势识别器阻止触摸已结束

ios - 如何设置回默认的 UISegmentedControl 外观?

ios - FIRStorageErrorDomain 代码=-13010

iphone - 如何将数据从 SQlite 显示到 TableView 到 iPhone 应用程序

ios - 在 iPad Air 上运行时应用程序的屏幕尺寸是多少?