Guten Abend!
Ich arbeite an einer App, die Daten in CoreData speichert und jeden Tag zufällig einen oder mehrere dieser Einträge wieder ausgibt. Hierzu speichere ich für jeden Eintrag eine ID und generiere aus allen IDs ein Array mit der aktuellen Reihenfolge. Bei jedem Öffnen der App vergleiche ich das aktuelle Datum mit dem zuletzt gespeicherten und lösche die erste Stelle des Arrays, wenn das hinterlegte Datum älter ist als heute. Die jeweils erste Stelle des Arrays wird dann angezeigt.
Das funktioniert soweit alles problemlos. Nun möchte ich allerdings gerne die Option hinzufügen, die Einträge auch via CloudKit zu synchronisieren. Idealerweise sollte auch die aktuelle Reihenfolge abgeglichen werden, sodass zwei Installationen am selben Tag immer auch denselben Eintrag anzeigen.
Programmiertechnisch kriege ich das wohl hin, allerdings bin ich mir unsicher, ob das technisch mit CloudKit überhaupt sinnvoll zu realisieren ist? Nach meinem Verständnis habe ich ja keine Kontrolle darüber, wann genau CloudKit die Daten synchronisiert. Wenn ich nun z.B. zwei Installationen habe, auf Gerät 1 die App zwei Tage lang nutze, entsprechend mein Array um zwei Einträge kürze, und dann die Installation auf Gerät 2 öffne, (wie) kriege ich das hin, dass Gerät 2 früh genug weiß, dass es ebenfalls die ersten zwei Einträge aus dem Array streichen muss, bevor es etwas anzeigt?
Ich hoffe, ich konnte mein Problem halbwegs verständlich darstellen. Für Ideen, ob bzw. wie das zu realisieren wäre, wäre ich sehr dankbar!
Beste Grüße
Michael
Ich arbeite an einer App, die Daten in CoreData speichert und jeden Tag zufällig einen oder mehrere dieser Einträge wieder ausgibt. Hierzu speichere ich für jeden Eintrag eine ID und generiere aus allen IDs ein Array mit der aktuellen Reihenfolge. Bei jedem Öffnen der App vergleiche ich das aktuelle Datum mit dem zuletzt gespeicherten und lösche die erste Stelle des Arrays, wenn das hinterlegte Datum älter ist als heute. Die jeweils erste Stelle des Arrays wird dann angezeigt.
Das funktioniert soweit alles problemlos. Nun möchte ich allerdings gerne die Option hinzufügen, die Einträge auch via CloudKit zu synchronisieren. Idealerweise sollte auch die aktuelle Reihenfolge abgeglichen werden, sodass zwei Installationen am selben Tag immer auch denselben Eintrag anzeigen.
Programmiertechnisch kriege ich das wohl hin, allerdings bin ich mir unsicher, ob das technisch mit CloudKit überhaupt sinnvoll zu realisieren ist? Nach meinem Verständnis habe ich ja keine Kontrolle darüber, wann genau CloudKit die Daten synchronisiert. Wenn ich nun z.B. zwei Installationen habe, auf Gerät 1 die App zwei Tage lang nutze, entsprechend mein Array um zwei Einträge kürze, und dann die Installation auf Gerät 2 öffne, (wie) kriege ich das hin, dass Gerät 2 früh genug weiß, dass es ebenfalls die ersten zwei Einträge aus dem Array streichen muss, bevor es etwas anzeigt?
Ich hoffe, ich konnte mein Problem halbwegs verständlich darstellen. Für Ideen, ob bzw. wie das zu realisieren wäre, wäre ich sehr dankbar!
Beste Grüße
Michael