2016-05-12 15 views
6

Sto utilizzando un dominio List/Results come dataSource per un UITableView. Ad un certo punto assegno una lista ad esso. come:come convertire la lista di RealmSwift in risultati?

var dataSource:List<SomeObject>! // Or >> Results<SomeObject>! 
let aRealmObject = realm.objectForPrimaryKey(SomeObject.self, key: objectId) 
dataSource = aRealmObject.someList // dataSource should be List 

Poi ho un filtro su questa lista Se l'utente ha modificato le date di filtro, mi piace questo:

dataSource = dataSource.filter("FILTER THE DATES",newDates) // dataSource should be Results 

Ma la linea di cui sopra causa un errore, come il tipo di ritorno di filter è un oggetto Results e aRealmObject.someList è un elenco.

Qual è il modo migliore per gestire questa situazione?

  • make dataSource come List e convertire l'oggetto Results a List? Come??
  • rendere dataSource come Results e convertire in Results? Come??
  • Oppure potresti avere un modo migliore di farlo, per favore condividilo con me.

Grazie,

risposta

4

Sia List e Results (nonché LinkingObjects) può essere convertito in un tipo AnyRealmCollection. Penso che questo sia probabilmente il modo migliore per standardizzare tutti i tipi di array di Realm:

var dataSource:AnyRealmCollection! 
let aRealmObject = realm.objectForPrimaryKey(SomeObject.self, key: objectId) 
dataSource = AnyRealmCollection(aRealmObject.someList) 
6

ho trovato un modo semplice per convertire List a Results avvalendosi se il metodo del filtro, restituisce sempre Results oggetto. Gli ho appena dato un vero predicato.

dataSource = aRealmObject.someList.filter("TRUEPREDICATE") //this is a Results object. 
Problemi correlati