Co robię (w obu językach), aby mój zegar był słaby. W szybkim tempie byłaby to słaba opcja.
weak var myTimer: NSTimer?
Potem stworzyć czasomierz z
myTimer = NSTimer.scheduledTimerWithTimeInterval(1,
target: self,
selector: "timerFired:",
userInfo: nil,
repeats: false)
a następnie można użyć
if timer == nil
powiedzieć, czy to działa.
Aby zatrzymać stoper po prostu zadzwonić
myTimer?.invalidate()
w Objective-C byłoby
[myTimer invalidate];
To działa w Objective-C, ponieważ wysyłanie wiadomości do zera wskaźników jest ważny, a tylko robi nic.
Jeśli nie chcesz używać słabego opcjonalnego, możesz wysłać zapytanie do licznika czasu, aby sprawdzić, czy działa, patrząc na jego właściwość valid
.
Podaj wszystkie istotne informacje, które obejmowałyby faktyczny pełny komunikat o błędzie. – zaph
@amro shahbari Swift 3.1 nie działa –