Что я делаю (на обоих языках), чтобы сделать мой таймер слабым. Быстро это было бы слабым факультативным.
weak var myTimer: NSTimer?
Затем я создаю таймер с
myTimer = NSTimer.scheduledTimerWithTimeInterval(1,
target: self,
selector: "timerFired:",
userInfo: nil,
repeats: false)
И тогда вы можете использовать
if timer == nil
сказать, если он работает.
Чтобы остановить таймер, который вы просто позвоните
myTimer?.invalidate()
В Objective-C было бы
[myTimer invalidate];
Это работает в Objective-C, так как отправка сообщений с нулевыми указателями действительно, и просто делает ничего.
Если вы не хотите использовать слабый факультативный вариант, вы можете запросить таймер, чтобы узнать, работает ли он, глядя на его свойство valid
.
Предоставьте всю необходимую информацию, которая будет содержать фактическое полное сообщение об ошибке. – zaph
@amro shahbari swift 3.1 не работает –