-1
Код ниже - это таймер. Через 3 секунды я хотел бы, чтобы у пользователя была возможность отключить таймер. Я попытался объяснить, что я пытался сделать в разделе комментариев - я пробовал, что я прокомментировал, но это не сработало. Я хотел бы оставить код одинаковым, мне просто нужно найти способ остановить таймер, используя UIButton i
.Как остановить таймер от UIButton?
import UIKit
class ViewController: UIViewController {
@IBOutlet var i: UIButton!
@IBOutlet var u: UILabel!
var time = 0
var timer = Timer()
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func start(_ sender: Any) {
b()
}
func action() {
time += 1
u.text = String(time)
if time == 2 {
u.alpha = 0
}
else if time > 3 {
u.alpha = 0.5
// if i.isSelected{
// timer.invalidate}
}
else {
return
}
}
func b(){
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(ViewController.action), userInfo: nil, repeats: true)
}
Нет точки проверки 'nil', * не * связывания, то используя условную цепочку. http://pastebin.com/Nghur9XK – Alexander
Вероятно, нужно использовать 'invalidate()', а не просто 'invalidate'. Разве компилятор не дает вам предупреждение? – jtbandes
@vadian эта работа однако кнопка i не приводит к остановке таймера. Кнопка запуска - это то, что заставляет таймер начинать остановку. Я бы хотел, чтобы кнопка i остановила таймер. –