una - no puedo eliminar aplicaciones de mi iphone 6
Core Data NSPredicar para las relaciones (2)
Mi gráfico de objetos es simple.
Tengo un objeto feedentry que almacena información sobre feeds RSS y una relación llamada Tag que enlaza al objeto "TagValues". Tanto la relación (a y inversa) son a-muchos. es decir, un feed puede tener múltiples etiquetas y una etiqueta puede asociarse a múltiples feeds.
Me referí a ¿Cómo hacer consultas de datos básicos a través de una relación? y creó una NSFetchRequest. Pero cuando obtengo datos, recibo una excepción que dice:
NSInvalidArgumentException generación de SQL no implementada para el predicado
¿Que debería hacer? Soy un novato en datos básicos :( Sé que he hecho algo terriblemente mal ... Por favor ayuda ...
Gracias
-
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
// Edit the entity name as appropriate.
NSEntityDescription *entity = [NSEntityDescription entityForName:@"FeedEntry" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
// Edit the sort key as appropriate.
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"authorname" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
NSEntityDescription *tagEntity = [NSEntityDescription entityForName:@"TagValues" inManagedObjectContext:self.managedObjectContext];
NSPredicate *tagPredicate = [NSPredicate predicateWithFormat:@"tagName LIKE[c] ''nyt''"];
NSFetchRequest *tagRequest = [[NSFetchRequest alloc] init];
[tagRequest setEntity:tagEntity];
[tagRequest setPredicate:tagPredicate];
NSError *error = nil;
NSArray* predicates = [self.managedObjectContext executeFetchRequest:tagRequest error:&error];
TagValues *tv = (TagValues*) [predicates objectAtIndex:0];
NSLog(tv.tagName); // it is nyt here...
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"tag IN %@", predicates];
[fetchRequest setPredicate:predicate];
// Edit the section name key path and cache name if appropriate.
// nil for section name key path means "no sections".
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:nil cacheName:@"Root"];
aFetchedResultsController.delegate = self;
self.fetchedResultsController = aFetchedResultsController;
-
¿Requiere SQLite? Estoy lidiando con un problema similar, y he descubierto que todo funciona como se espera con una tienda binaria.
Existen limitaciones al usar SQLite como tienda, aunque aún no he encontrado un documento que enumere las limitaciones, solo que existen.
Lo siento, no puedo ser de más ayuda.
La clave aquí es "CUALQUIERA"
Ejemplo de manzana:
NSPredicate *predicate = [NSPredicate predicateWithFormat:
@"ANY employees.firstName like ''Matthew''"];