2015-02-13 7 views
5

Ich baue eine Chat-Anwendung mit Parse. Ich habe eine Klasse "Conversation" und eine Klasse "Message". Eine Konversation kann viele Nachrichten (Eins-zu-Viele) haben.Parse: Problem mit PFRelation und lokalem Datenspeicher

Außerdem verwende ich den lokalen Datenspeicher zum Zwischenspeichern der Objekte (sowohl Konversation als auch Nachrichten mit einer PFRelation). Alles funktioniert gut, bis ich versuche, die Konversation vom Server für Updates abzurufen. Beachten Sie, dass ich nur nach der Konversation frage, und daher werden keine neuen Nachrichtenobjekte abgerufen (was gemäß der Dokumentation von Parse erwartet wird). Aber überraschenderweise kann ich nicht einmal die Nachrichten vom lokalen Datenspeicher sehen.

Kennt jemand eine Möglichkeit, PFRelations ordnungsgemäß im lokalen Datenspeicher zu speichern?

+2

Haben Sie das gelöst? –

Antwort

0

Ich habe das gleiche Problem, die gleiche Situation. Scheint ein Fehler im Parse SDK zu sein, siehe https://stackoverflow.com/a/29157525/1679768.

So jetzt, in der Nachricht Klasse, habe ich eine Spalte "Konversation", die auf die verwandte Konversation pfObject zeigt. Sie können Nachrichten pinnen und alle Daten aus dem lokalen Datenspeicher finden, in denen der Schlüssel "Konversation" Ihrer aktuellen Konversation entspricht.

let query = Message.query() 
query?.whereKey("conversation", equalTo: anyConversation) 
query?.findObjectsInBackground() 

Halten Sie uns auf dem Laufenden, wenn Sie einen anderen Weg gefunden haben.