Uruchomić stoper z swift3,
var timer: Timer?
func startTimer() {
if timer == nil {
timer = Timer.scheduledTimer(timeInterval: 3, target: self, selector: #selector(self.loop), userInfo: nil, repeats: true)
}
}
func stopTimer() {
if timer != nil {
timer?.invalidate()
timer = nil
}
}
func loop() {
let liveInfoUrl = URL(string: "http://192.168.1.66/api/cloud/app/liveInfo/7777")
let task = URLSession.shared.dataTask(with: liveInfoUrl! as URL) {data, response, error in
guard let data = data, error == nil else { return }
print(String(data: data, encoding: String.Encoding(rawValue: String.Encoding.utf8.rawValue)) ?? "aaaa")
}
task.resume()
}
Zwolnij timer, gdy go nie używasz.
Po zaplanowano na pętli biegu, pożary czasomierza w określonym przedziale dopóki nie zostanie unieważniony. Niepowtarzalny zegar unieważnia natychmiast po uruchomieniu. Jednak w przypadku powtarzającego się zegara użytkownik musi samodzielnie unieważnić obiekt czasomierza, wywołując metodę invalidate() .
Jeśli chcesz, możesz użyć 'jeśli #available (iOS 10, *) {//iOS 10 code} else {// iOS 9 code} 'do obsługi obu w zależności od wersji systemu operacyjnego. – Awesomeness
Musiałem dodać napisać funkcję docelową w następujący sposób: '@objc func updateTime() {}' – Jonny
Warto również przyjrzeć się niższym postom, aby zobaczyć, jak przestają działać stoper. Może nie zostać usunięty z pętli uruchamiania, jeśli nie zostanie usunięty ręcznie. – kbpontius