Il documento Reame dice che il RLMResults
è leccato NSArray
. Ho alcuni risultati restituiti dal database e voglio unirlo in un altro RLMResults
. Ma sembra immutabile, Come fare un RLMResults
aggiungere oggetti da un altro RLMResults
? o renderlo mutabile? o convertirlo in NSArray
?Come rendere modificabili gli RLMResults?
risposta
Attualmente questo è qualcosa che dovresti fare manualmente. È possibile creare un RLMArray concatenando i due risultati.
Stiamo discutendo un metodo unione/unione più avanti sulla tabella di marcia per RLMObjects dello stesso tipo.
Qualsiasi bit è possibile condividere ci aiuterà a comprendere i casi d'uso e potenzialmente impatto il design api
Finché sono dello stesso tipo, ecco un esempio generico
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)
Puoi fornire un codice per convertire un oggetto RLMResults in un oggetto RLMArray? Non riesco a capire come farlo, e sarebbe essenzialmente la risposta alla domanda dell'OP. Mi sembra strano anche che RLMArray non possa essere istanziato, dato che puoi arbitrariamente aggiungere oggetti a un'istanza. Inoltre, questo è un po 'fuori dalla portata della domanda, ma in RLMResults, qual è l'utilità di avere firstObject e lastObject? Non riesco a trovare un modo per ottenere altri oggetti da quelli. Queste sono probabilmente domande ingenue - Sono nuovo nella biblioteca. –
Nessun problema, ho modificato il mio esempio per includerlo. Può essere istanziato con un tipo. Come stavi cercando di istanziarlo? Non sono sicuro di quale sia l'ultima domanda, ma io uso firstObject molto simile a quanto visto nell'esempio precedente poiché Task.objectsWhere ... restituirà un RLMResults, quando cerco solo un'attività. lastObject può essere utilizzato quando si desidera conoscere l'ultima attività aggiunta in base ai criteri di ricerca – yoshyosh
ho scoperto la soluzione da duemunk: https://github.com/realm/realm-cocoa/issues/1046
Fondamentalmente ho convertire il RLMResults per [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. Converti RLMResults in RLMArray
- 2. Proprietà modificabili antimutabili a
- 3. RLMResults alla conversione NSArray in ios
- 4. Rendere gli oggetti osservabili
- 5. Come rendere modificabili le linee di dati jquery-rails in linea?
- 6. Conversione da raccolte non modificabili a quelle modificabili
- 7. Come posso rendere gli elementi HTML inalterabili?
- 8. Rendi modificabili solo alcune colonne in SlickGrid
- 9. Perché rendere statiche le liste/insiemi/mappe finali statici non modificabili?
- 10. Winforms PropertyGrid - proprietà non modificabili
- 11. Come rendere i colori su una schermata come gli altri
- 12. Controlli su WinForm non modificabili in Designer
- 13. Le stringhe in argv sono modificabili?
- 14. Spring: come eseguire la configurazione di proprietà modificabili runtime trasparente
- 15. Come rendere Fiddler in ascolto su tutti gli IP
- 16. Come rendere i controlli server ASP.NET gli ID più brevi?
- 17. Come rendere robusti gli script della shell modificati durante l'esecuzione
- 18. come rendere div in cima a tutti gli altri controlli
- 19. Come posso rendere gli script Lua non decompilabili?
- 20. Come rendere gli elementi Flexbox della stessa dimensione?
- 21. Come rendere "Eclipse per gli sviluppatori Java" includere funzionalità Javascript?
- 22. Come rendere gli oggetti su tela non selezionabili?
- 23. Come posso rendere ensime mostrare tutti gli errori di compilazione?
- 24. Come rendere gli elementi flessibili visualizzati verticalmente anziché orizzontalmente?
- 25. Come rendere System.Net.WebProxy non bypassare gli URL locali?
- 26. variabili membro modificabili statiche in C++?
- 27. Tinymce - desidera contenuti non modificabili ma formattabili
- 28. "Gli oggetti serie sono modificabili e non possono essere sottoposti a hash" Errore
- 29. Invia valori non modificabili in jqGrid?
- 30. Le sessioni sono modificabili dal client/utente?
Cercando di rispondere alla tua domanda, e davvero iniziando a odiare questo disegno haha API. Perché hai bisogno di combinare i RLMResults? –
@MillieSmith Devo combinare RLMResults con RLMResults. –
Puoi condividere di più su ciò che stai cercando di fare? Un piccolo esempio di codice sarebbe buono. Questo potrebbe essere qualcosa che potremmo considerare basato sui casi d'uso – yoshyosh