我想在我的应用程序的不同viewcontrollers中显示一个计时器(分钟和秒)。我怎么能这样做?
我在考虑使用带有Singleton的计时器,但是如何每秒更新正确的标签?
答案 0 :(得分:0)
是的,您可以使用单身
此代码调用方法updateLabel:
每秒
的OBJ-C
NSTimer* timer = [NSTimer timerWithTimeInterval:1.0f target:self selector:@selector(updateLabel:) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
夫特
var myTimer: NSTimer? = nil
override func viewDidAppear(animated: Bool) {
myTimer = NSTimer(timeInterval: 1.0, target: self, selector: #selector(MyClass.updateAmazing),
userInfo: nil, repeats: true)
}
func updateAmazing() {
//update
}
在单身人士中,您应该启动计时器,在控制器上开始更新标签,并从单身人员获取值。
重要强>
不要忘记使计时器无效。
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
myTimer.invalidate()
}
答案 1 :(得分:0)
最简单的方法 - 使用Singleton的NSNotificationCenter 或者你可以在更新计时器时使用委托和调用方法创建数组,此数组中的所有ViewControllers都将接收消息