, was Sie tun können, ist die folgende:
Das erste Mal, wenn der Benutzer-Log-in, um Ihre Anwendung benötigen Sie für alle Benutzer Zeilen vom Server abzufragen, so dass in diesem Fall, dass Sie die Abfrage ohne jede Bedingung ausgeführt wird . In dieser Abfrage können Sie Limit verwenden, um die Ergebnisse zu begrenzen, die vom Server zurückgegeben werden. Wenn Sie die Ergebnisse vom Server erhalten Sie müssen:
- Shop alle Zeilen in Ihrer lokalen Datenbank
- Speichern Sie die aktuellen NSDate innerhalb NSUserDefaults
Der nächste Aufruf zu Ihrem Server zu bekommen, nur die aktualisierten Zeilen. Um es zu erreichen, müssen Sie:
- den letzten Synchronisierung Zeitpunkt von Ihrem NSUserDefaults Erhalten Sie (die, die wir oben speichern)
- die Abfrage ausführen, aber dieses Mal mit einer Bedingung von greaterThan Ihre lastSyncDate
am Ende der Code die Einzelteile zu holen wie folgt aussehen sollte:
// check if we synced the date before
let lastSyncDate = NSUserDefaults.standardUserDefaults().objectForKey("lastSyncDate")
let query = PFQuery(className: "MyParseObjectClassName")
if (lastSyncDate != nil){
// get only records that were created/updated since the last sync date
query.whereKey("updatedAt", greaterThan: lastSyncDate!)
}
query.findObjectsInBackgroundWithBlock {
(objects: [PFObject]?, error: NSError?) -> Void in
// store objects in parse local data store
if (objects?.count > 0){
PFObject.pinAllInBackground(objects)
}
// save the last sync date in user defaults
NSUserDefaults.standardUserDefaults().setValue(NSDate(), forKey: "lastSyncDate")
NSUserDefaults.standardUserDefaults().synchronize()
}
Bitte notieren Sie Hier habe ich Pars lokalen Datenspeicher verwendet, mit dem Sie leicht Parse-Objekte in Ihre lokale Datenbank speichern können, ohne Kerndaten zu verwenden. Das Analysieren des lokalen Datenspeichers wird durch das Parsing von iOS SDK bereitgestellt und spart viel Zeit und Aufwand für Sie. Daher empfehle ich Ihnen dringend, es zu nutzen. Der lokale Datenspeicher kümmert sich auch um Objekte, die erstellt/aktualisiert wurden, und erstellt automatisch neue Objekte und aktualisiert bestehende.
Sie mehr darüber in here
Diese Frage lesen kann, scheint nichts mit Kerndaten oder Mongo zu tun ... – Wain