2016-06-07 13 views
11

Come prendere i dati RLMResults in NSArray nell'obiettivo C, si prega di darmi il suggerimento.RLMResults alla conversione NSArray in ios

+1

è necessario eseguire il ciclo attraverso RLMResults per creare un array .... –

+0

Grazie El Captain, funziona perfettamente ... –

+0

siete i benvenuti :) –

risposta

13

Esattamente quello che ha detto El Captain. Non c'è modo di convertire automaticamente un oggetto RLMResults in un NSArray; Devi farlo da solo.

RLMResults *results = ...; 
NSMutableArray *array = [NSMutableArray array]; 
for (RLMObject *object in results) { 
    [array addObject:object]; 
} 

Detto questo, dovresti chiederti se è veramente necessario. Realm offre molti vantaggi eccezionali sotto il cofano con RLMResults (ad esempio, il caricamento lento dei dati solo quando vi si accede) che viene perso quando li si converte in un NSArray. Si consiglia di mantenere l'oggetto RLMResults e di lavorarci il più possibile, e di convertirlo in uno NSArray solo quando è veramente necessario.

+1

Hai ragione. L'uso di 'RLMResults' è molto più vantaggioso nell'utilizzare' NSArray' se si desidera ottenere il massimo da Realm. Anche se ci sono situazioni come quella che sto affrontando ora dove devo aggiungere il supporto Realm nella nostra applicazione e le conseguenze della modifica delle fonti di dati di molti dei nostri file potrebbero richiedere settimane per indirizzarmi. Non sono sicuro che l'OP si trovi di fronte allo stesso problema, ma se non lo è, vai 'RLMResults' fino in fondo. –

+0

Sono in una situazione in cui penso di dover convertire in 'NSArray'. Voglio ordinare i risultati con un blocco. – Colas

+0

Prima di tutto ho upvoted la tua risposta come sembra buona.Tim come cambiare o convertire NSArray in RLMResult?. Ho provato ma ha preso come oggetto NSArray e si è bloccato. – user3182143