Swift NSTimer值不更新UILabel?迅速地
我正在尝试使用Swift NSTimer值不更新UILabel?迅速地,swift,uilabel,nstimer,Swift,Uilabel,Nstimer,我正在尝试使用NSTimer.scheduledTimerWithTimeInterval方法更新标签虽然计时器工作正常,但我的标签没有按应有的方式更改,有人能告诉我我做错了什么吗?代码: class Questions: UIViewController, UITextFieldDelegate { var timerVal = 10 var timerLbl :UILabel! var timer:NSTimer! override func viewDi
NSTimer.scheduledTimerWithTimeInterval
方法更新标签虽然计时器工作正常,但我的标签没有按应有的方式更改,有人能告诉我我做错了什么吗?代码:
class Questions: UIViewController, UITextFieldDelegate {
var timerVal = 10
var timerLbl :UILabel!
var timer:NSTimer!
override func viewDidLoad() {
super.viewDidLoad()
startTimer()
}
func timerLabel() {
var timerLbl = UILabel(frame: CGRectMake(250, 20, 50, 50))
timerLbl.text = "\(10)"
timerLbl.textColor = UIColor.blackColor()
timerLbl.font = UIFont(name: Font.FuturaBlack, size: 30)
timerLbl.textAlignment = NSTextAlignment.Center
view.addSubview(timerLbl)
}
func updateTimer(dt:NSTimer) {
timerVal--
if timerVal == 0{
timerVal = 11
}else if timerVal < 0{
timer.invalidate()
} else{
println(timerString) //PRINTS CORRECT AS THE TIMER DECREASES BY ONE SECOND
timerLbl.text = "\(timerVal)" //NOTHING HAPPENS ON THE LABEL
}
}
func startTimer(){
timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: Selector("updateTimer:"), userInfo: nil, repeats: true)
}
}
课堂问题:UIViewController、UIExtFieldDelegate{
var timerVal=10
var timerLbl:UILabel!
var定时器:NSTimer!
重写func viewDidLoad(){
super.viewDidLoad()
startTimer()
}
func timerLabel(){
var timerLbl=UILabel(帧:CGRectMake(250,20,50,50))
timerLbl.text=“\(10)”
timerLbl.textColor=UIColor.blackColor()
timerLbl.font=UIFont(名称:font.FuturaBlack,大小:30)
timerLbl.textAlignment=NSTextAlignment.Center
view.addSubview(timerLbl)
}
func updateTimer(dt:NSTimer){
时差--
如果timerVal==0{
timerVal=11
}如果timerVal<0,则为else{
timer.invalidate()
}否则{
println(timerString)//当计时器减少1秒时,打印正确
timerLbl.text=“\(timerVal)”//标签上没有任何变化
}
}
func startTimer(){
timer=NSTimer.scheduledTimerWithTimeInterval(1.0,目标:self,选择器:selector(“updateTimer:”),userInfo:nil,repeats:true)
}
}
创建timerLbl的函数timerLabel从未被调用 在哪里调用timerLabel()?标签是否开始打印任何内容?抱歉,在视图中确实加载了让我修改谢谢我现在已经对它进行了排序,我创建了两次TimerBL,一次在我的viewDidLoad中,一次在timerLabel函数中。谢谢你的回答把我吵醒了!