Điều tôi làm (bằng cả hai ngôn ngữ) là làm cho bộ hẹn giờ của tôi yếu. Trong nhanh chóng nó sẽ là một tùy chọn yếu.
weak var myTimer: NSTimer?
Sau đó, tôi tạo ra một bộ đếm thời gian với
myTimer = NSTimer.scheduledTimerWithTimeInterval(1,
target: self,
selector: "timerFired:",
userInfo: nil,
repeats: false)
Và sau đó bạn có thể sử dụng
if timer == nil
để nói nếu nó đang chạy.
Để ngừng đồng hồ đếm bạn chỉ cần gọi
myTimer?.invalidate()
Trong Objective-C nó sẽ là
[myTimer invalidate];
đó làm việc trong Objective-C vì gửi tin nhắn đến con trỏ nil là hợp lệ, và chỉ cần thực hiện không có gì.
Nếu bạn không muốn sử dụng tùy chọn yếu, bạn có thể truy vấn bộ hẹn giờ để xem bộ hẹn giờ có đang chạy hay không bằng cách xem thuộc tính valid
.
Nguồn
2015-07-02 19:04:00
Cung cấp tất cả thông tin thích hợp, bao gồm thông báo lỗi đầy đủ thực tế. – zaph
@amro shahbari swift 3.1 không hoạt động –