Parse.com PFQueryTableViewController Lokaler Datenspeicher

8

Ich habe eine Swift-App, in der ich ein PFQueryTableViewController habe, und ich möchte den lokalen Datenspeicher mit Parse verwenden. Aber ich bin verwirrt über die Verwendung des lokalen Datenspeichers neben Live-Abfragen.

Folgendes möchte ich tun:

  1. Wenn% code_% angezeigt wird, möchte ich, dass Daten immer vom lokalen Datenspeicher
  2. abgerufen werden
  3. Aber nachdem die Ansicht ohne Verzögerung gerendert wurde (da der lokale Datenspeicher die Quelle der Daten antreibt), möchte ich einen asynchronen Aufruf durchführen, um den lokalen Datenspeicher mit den meisten aktualisierten Daten aus der Cloud zu aktualisieren. Wenn neue Daten vorhanden sind, möchte ich, dass die aktuellsten Daten nahtlos in der Tabelle und vorzugsweise mit Zeilenanimation angezeigt werden.

Wie erreiche ich das?

    
John Doe 23.12.2014, 09:07
quelle

2 Antworten

1

So habe ich das geschafft - vielleicht bringt es Sie auf den richtigen Weg. Ich wäre daran interessiert, Ihre Lösung zu sehen, wenn Sie das Problem bereits behoben haben.

Zuerst habe ich eine bequeme Methode erstellt, um meine Basisabfrage zu erstellen:

%Vor%

Wir möchten, dass queryForTable den lokalen Datenspeicher konsistent trifft.

%Vor%

Nun müssen Sie lediglich den lokalen Datenspeicher aus dem Netzwerk auffüllen:

%Vor%

Wir können das jederzeit aufrufen, wenn wir wollen: in viewDidLoad oder viewDidAppear , als Reaktion auf ein Pull-to-Refresh-Ereignis (weshalb ich den UIRefreshControl -Code dort habe) oder wann auch immer es sein mag angebracht.

    
David Schwartz 07.03.2015 03:24
quelle
0

Ich finde es jetzt am besten, die Funktion loadObjects zu überschreiben, die jedes Mal aufgerufen wird, wenn die TabelleView aktualisiert wird. Laden Sie die Objekte der Abfrage einfach in den lokalen Datenspeicher, bevor loadObjects (0, clear: true) aufgerufen wird (die das Verhalten der Aktualisierung behandelt und schwer zu überschreiben ist). (Dies sollte gut mit Internetverbindung funktionieren, oder nach der Aktualisierung werden alle Objekte ungültig sein. Sie müssen einige Ihrer eigenen Logik für die Perfektion hinzufügen.)

%Vor%     
zhubofei 12.07.2015 18:09
quelle