Domanda

Sto cercando di trovare il modo di passare attraverso le mie informazioni CoreData e trovare gli oggetti che hanno un createdAt (parte del mio oggetto come un NSDate) che si trova all'interno di un NSTimeInterval. Come faccio a impostare questo?

Ho guardato sulla documentazione a: http://developer.apple.com/documentation/Cocoa/Conceptual/ predicati / predicates.html

Ma io non sto trovando nulla.

Devo creare due data e ora e utilizzare SQL di TRA?

Qualsiasi aiuto sarebbe meraviglioso.

È stato utile?

Soluzione

Prima di tutto, non ha senso per verificare se un NSDate è all'interno di un NSTimeInterval, perché NSTimeInterval solo specifica un periodo di tempo, non la sua posizione. Invece, si desidera utilizzare due NSDates separati specificando l'inizio e la fine dei tuoi intervalli.

Ecco che cosa sarebbe simile (beginningTime e endTime sono NSDates).

NSFetchRequest *request = [[NSFetchRequest alloc] init];
request.entity = [NSEntityDescription entityForName:@"YourEntityName" inManagedObjectContext:yourContext];
NSPredicate *beginningPredicate = [NSPredicate predicateWithFormat:@"createdAt >= %@", beginningTime];
NSPredicate *endPredicate = [NSPredicate predicateWithFormat:@"createdAt <= %@", endTime];
request.predicate = [NSCompoundPredicate andPredicateWithSubpredicates:[NSArray arrayWithObjects:beginningPredicate, endPredicate, nil]];
NSArray *results = [yourContext executeFetchRequest:request error:NULL];
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top