2016-10-26 4 views
-1

Ich möchte den init (fireAt: interval: target: selektor: userInfo: repeats :) timer verwenden, um eine bestimmte Funktion zu einem bestimmten Zeitpunkt aufzurufen. Aber das Problem ist, dass ich nicht weiß, wie man es initialisiert. es in der Dokumentation sagt, dass:Benötigen Sie Hilfe mit init (fireAt :) timer

'Sie müssen die neuen Timer auf eine Laufschleife hinzuzufügen, fügen Sie mit (_: forMode :) (https://developer.apple.com/reference/foundation/timer/1415700-init)

Aber ich bin nicht sicher, wie ich mich über zu tun Dies. Kann mir das jemand erklären?

Antwort

0

Verwenden Sie die Klassenfunktion scheduledTimerWithTimeInterval.

Swift 3

var calender = Calendar(identifier: .gregorian) 

calender.timeZone = TimeZone(abbreviation: "GMT")! 

let tomorrow = calender.date(byAdding: .day, value: 1, to: Date()) 
let midnight = calender.startOfDay(for: tomorrow!) 

let timer = Timer(
    fireAt: midnight, 
    interval: 5, 
    target: self, 
    selector: #selector(didInterval), 
    userInfo: nil, 
    repeats: false 
) 
+0

ich wahrscheinlich mehr Klarheit über die spezifische Verwendung hätte sein sollen. Ich möchte eine Funktion zu einer bestimmten Zeit aufrufen (Mitte). Ich dachte, dass das der Timer mit (FireAt :) ist? –