In meiner Anwendung habe ich eine Reihe von Aufgaben zu tun. Und jeden Tag zu einer bestimmten Zeit, sagen wir 13 Uhr, muss das Array von Aufgabenobjekten modifiziert werden. Welche Funktionen kann ich verwenden, um dieses Ereignis jeden Tag auszulösen?Bestimmte Werte zu bestimmten Zeiten jeden Tag zurücksetzen
Antwort
Wenn sich die App im Vordergrund befindet, können Sie einen Timer festlegen, der ausgelöst wird, wenn ein bestimmter Zeitgrenzwert überschritten wird. Wenn sich die App im Laufe der Zeit im Hintergrund befindet, können Sie beim nächsten Start der App überprüfen, ob der Schwellenwert überschritten wurde, und dann Ihre Änderungen zu diesem Zeitpunkt vornehmen.
Zum Beispiel kann der Timer fügen Sie diese in Ihrem AppDelegate hinzuzufügen:
private var myTimer: Timer?
func applicationWillResignActive(_ application: UIApplication) {
myTimer?.invalidate()
}
func applicationDidBecomeActive(_ application: UIApplication) {
//Scheduling for 1 PM (13:00)
var dateComponents = Calendar.current.dateComponents([.minute, .hour, .month, .day, .year], from: Date())
dateComponents.hour = 13
dateComponents.minute = 00
dateComponents.timeZone = TimeZone.current
if let timerDate = Calendar.current.date(from: dateComponents) {
myTimer = Timer(fireAt: timerDate, interval: 0, target: self, selector: #selector(timerFired), userInfo: nil, repeats: false)
}
if let myTimer = myTimer {
RunLoop.current.add(myTimer, forMode: RunLoopMode.commonModes)
}
}
func timerFired() {
//Do you update here
}
Sie könnten eine zusätzliche Prüfung in der applicationDidBecomeActive
Methode hinzufügen zu überprüfen, ob Ihre Änderung wurde bereits für den Tag geschehen, falls der Der Schwellenwert wird überschritten, während die App im Hintergrund oder inaktiv ist.
Eigentlich habe ich beschlossen, es einfach so zu machen, wie du gesagt hast. Ich setze jedes Mal ein Date-Objekt, wenn auf die App in meinen UserDefaults zugegriffen wird. Dann überprüfe ich jedes Mal, wenn ich die App erneut öffne, wenn das neue Zugriffsdatum am selben Tag ist wie das lastDate in meinen userDefaults, und ändere meine Objekte, wenn sie nicht am selben Tag sind. Funktioniert jetzt gut !! – Misha
- 1. Wie wiederhole ich lokale Benachrichtigungen jeden Tag zu verschiedenen Zeiten?
- 2. Kann ich Termine/Rückrufe zu bestimmten Zeiten jeden Tag in PhoneGap einplanen?
- 3. Planen Sie lokale Benachrichtigungen zu bestimmten Zeiten am Tag
- 4. Benachrichtigungen in bestimmten Zeit jeden Tag android
- 5. Wie nur bestimmte Tag Werte zu analysieren
- 6. mysql berechnen Sekunden zwischen zwei Datum/Zeiten für jeden Tag
- 7. Query InfluxDB für bestimmte Stunden jeden Tag
- 8. Ausführen eines Cron-Jobs zu unterschiedlichen Zeiten für jeden Job
- 9. Zeige nur zu bestimmten Zeiten einen iframe
- 10. Planen einer Methode zu bestimmten Zeiten
- 11. Refresh Guava LoadingCache jeden Tag zu einer bestimmten Zeit
- 12. Benachrichtigung jeden Tag erstellen
- 13. Pinging der Homepage zu bestimmten Zeiten
- 14. Ausführen einer Funktion zu bestimmten Zeiten
- 15. PHP-Skript zu bestimmten Zeiten ausführen
- 16. Run Java-Thread zu bestimmten Zeiten
- 17. Windows-Dienst: Arbeiten zu bestimmten Zeiten (Delphi)
- 18. PySide, Qdate; Führen Sie eine bestimmte Funktion jeden Tag in einer bestimmten Zeit
- 19. Ich muss jeden Tag ein Google-Formular für eine bestimmte Zeit bereitstellen.
- 20. Löschen der ersten Zeile in Dataframe jeden Tag nur für bestimmte Werte
- 21. Tage zwischen bestimmten Zeiten berechnen
- 22. Summe der Werte für einen bestimmten Tag
- 23. einen variablen Wert für jeden Einsatz Zurücksetzen
- 24. Überprüfen Sie zwischen bestimmten Zeiten an Wochentagen
- 25. PHP ein bestimmtes Datumsformat an bestimmten Tagen/Zeiten zu zeigen
- 26. Run cron4j zu verschiedenen Zeiten
- 27. Schneller zu Malloc mehrere kleine Zeiten oder wenige große Zeiten?
- 28. Python - wie Excel Tabellen zu einer bestimmten Zeit jeden Tag zu öffnen
- 29. Werte zurücksetzen Ausgabe
- 30. FullCalendar - Deaktivieren/Blockieren Sie Zeiten an bestimmten Tagen
Sie können den Cron-Job auf dem Server einstellen, während Sie die Webservices auf –
verwenden Ich benutze bisher keine Webservices. Ich möchte, dass die Werte auch ohne Internetverbindung zurückgesetzt werden. – Misha
ok !! Ich bin kein IOS-Entwickler, sondern habe an den Webservices gearbeitet, die für den IOS verwendet werden, und der Cron-Job wird auf dem Server gesetzt, wo wir jedes Event mit Datum starten können. –