Der Realm doc sagt die RLMResults
sind lecken NSArray
. Ich habe einige Ergebnisse von der Datenbank zurückgegeben und ich möchte es in einem anderen RLMResults
zusammenführen. Aber es scheint, es ist unveränderlich, wie man eine RLMResults
Objekte von einem anderen RLMResults
hinzufügen? oder veränderlich machen? oder konvertieren Sie es in NSArray
?Wie macht man RLMResults veränderbar?
Antwort
Momentan müssen Sie das manuell erledigen. Sie könnten ein RLMArray erstellen, indem Sie Ihre beiden Ergebnisse verketten.
Wir diskutieren jedoch eine Union/Merge-Methode weiter unten auf der Roadmap für RLMObjects des gleichen Typs.
JedesBit Sie teilen können uns die Anwendungsfälle helfen, zu verstehen und möglicherweise das api Design
So lange auswirken, da sie vom gleichen Typ sind, ist hier ein allgemeines Beispiel
let currentTask = Task.objectsWhere("name = %@", "First task").firstObject() as Task
let currentRecords = currentTask.records
let arrayOfRecords = RLMArray(objectClassName: "Record")
arrayOfRecords.addObjects(currentRecords)
let futureTask = Task.objectsWhere("name = %@", "Future task").firstObject() as Task
let futureRecords = futureTask.records
arrayOfRecords.addObjects(futureRecords)
Können Sie Code bereitstellen, um ein RLMResults-Objekt in ein RLMArray-Objekt zu konvertieren? Ich kann mir nicht vorstellen, wie das geht, und es wäre im Wesentlichen die Antwort auf die Frage von OP. Es erscheint mir auch seltsam, dass RLMArray nicht instanziiert werden kann, da Sie Objekte beliebig zu einer Instanz hinzufügen können. Auch dies ist ein wenig außerhalb der Reichweite der Frage, aber in RLMResults, was ist die Verwendung von FirstObject und LastObject? Ich finde keine Möglichkeit, andere Gegenstände von denen zu bekommen. Dies sind wahrscheinlich naive Fragen - ich bin neu in der Bibliothek. –
Kein Problem, ich habe mein Beispiel bearbeitet, um dies einzuschließen. Es kann mit einem Typ instanziiert werden. Wie hast du versucht es zu instanziieren? Nicht sicher, was die letzte Frage ist, aber ich benutze FirstObject viel wie Sie im obigen Beispiel sehen, da Task.ObjectsWhere ... eine RLMResults zurückgibt, wenn ich nur nach einer Aufgabe suche. lastObject wird möglicherweise verwendet, wenn Sie anhand Ihrer Suchkriterien wissen möchten, welche Aufgabe zuletzt hinzugefügt wurde – yoshyosh
ich fand heraus, Lösung von duemunk: https://github.com/realm/realm-cocoa/issues/1046
Grundsätzlich konvertiere ich die RLMResults auf [RLMObject]: func toArray<T>(ofType: T.Type) -> [T] { var array = [T]() for result in self { if let result = result as? T { array.append(result) } } return array }
let tracks = Track.allObjects().toArray(Track.self) // tracks is of type [Track]
- 1. Wie man den jQuery UI-Dialog nicht veränderbar macht
- 2. JavaFX - Wie man Container vom Benutzer veränderbar macht
- 3. Konvertiere RLMResults in RLMArray
- 4. Welche Eigenschaft einer Konstante macht es nicht veränderbar?
- 5. Engmaschiges Benachrichtigungen alt/neu RLMResults
- 6. Wie man Datumsumwandlung macht?
- 7. Wie man Zahlenauswahldialog macht?
- 8. RLMResults to NSArray Konvertierung in ios
- 9. AndEngine GLES2 | Schriftgröße veränderbar machen?
- 10. Wie macht man `wo nicht`?
- 11. Wie man Datumszeit so macht?
- 12. Wie man rotierendes Menü macht
- 13. Wie man Navigationstastatur zugänglich macht?
- 14. wie man dynamisches Formular macht
- 15. Wie man eine Shell macht?
- 16. Wie man Code flexibler macht
- 17. Wie man Animation glatt macht
- 18. Wie macht man Dendogramme visueller?
- 19. wie man jmeter Ausgabegraphen macht
- 20. Wie macht man Klassen testbarer?
- 21. Wie macht man "schöne Rundungen"?
- 22. Wie macht man zoombare Scrollview?
- 23. Wie macht man diese Nachbarfunktion?
- 24. Wie macht man diese Übung?
- 25. Wie man MFCC-Algorithmus macht?
- 26. Wie macht man invertierten Index?
- 27. Wie macht man Netlogo Multiplayer?
- 28. wie man supervisord unkillable macht
- 29. Wie man Bildhintergrund transparent macht?
- 30. Wie man django Registrierungsformular macht
Versuchen Sie, Ihre Frage zu beantworten, und fangen wirklich an, dieses API-Design zu hassen. Warum müssen Sie die RLM-Ergebnisse kombinieren? –
@MillieSmith Ich muss RLMResults mit RLMResults kombinieren. –
Kannst du mehr darüber erzählen, was du zu tun versuchst? Ein kleines Codebeispiel wäre gut. Dies könnte etwas sein, das wir basierend auf den Anwendungsfällen betrachten könnten. – yoshyosh