2009-12-10 7 views
21

Sto lavorando su un iPhone e sto utilizzando Core Data come mio negozio.desc limite 50 equivalente in Core Data/NSPredicate

Quello che mi piacerebbe fare è elencare le 50 principali entità in ordine decrescente in base alla loro altezza.

Non riesco a trovare la sintassi per il predicato.

risposta

68

Innanzitutto, passare a NSFetchRequest class reference.

Utilizzare il descrittore di sorta alla vostra richiesta di recupero:

NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES selector:@selector(caseInsensitiveCompare:)]; 
[request setSortDescriptors:[NSArray arrayWithObject:sort]]; 

e utilizzare la proprietà fetchlimit

[request setFetchLimit:50]; 
+0

Spot, grazie – iOSDevil

+1

Sei il benvenuto! Buona fortuna – Francescu

+2

Dal punto di vista delle prestazioni, fetchLimit migliorerà il risultato solo se il tipo di negozio è SQL, altrimenti eseguirà semplicemente un recupero senza limiti e "scartare" le voci rimanenti. [https://developer.apple.com/library/ios/DOCUMENTATION/Cocoa/Reference/CoreDataFramework/Classes/NSFetchRequest_Class/NSFetchRequest.html#//apple_ref/occ/instm/NSFetchRequest/fetchLimit] – Vamos

Problemi correlati