Données de base NSPredicate pour les relations
Mon objet graphique est simple.
J'ai un feedentry objet qui stocke les infos sur les flux RSS et une relation appelée Balise que des liens vers des "TagValues" objet. À la fois la relation (et l'inverse) sont pour beaucoup. j'.e, un flux peut avoir plusieurs balises et un tag peut être associé à plusieurs flux.
J'ai évoqué Comment faire de la Base de Données de requêtes à l'aide d'une relation? et créé un NSFetchRequest. Mais lors de l'extraction des données, j'obtiens une exception indiquant,
NSInvalidArgumentException
lettre morte de génération SQL pour prédicat
Que dois-je faire? Je suis un newbie de base de données 🙁 je sais que j'ai fait quelque chose de terriblement mal... s'il vous Plaît aider...
Grâce
--
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;
--
source d'informationauteur Mugunth
Vous devez vous connecter pour publier un commentaire.
La clé ici est "TOUT"
Exemple d'apple:
http://developer.apple.com/mac/library/documentation/cocoa/conceptual/CoreData/Articles/cdBindings.html
Avez-vous besoin d'SQLite? Je suis aux prises avec un problème similaire, et ont constaté que tout fonctionne comme prévu avec un binaire magasin.
Il y a des limitations lors de l'utilisation de SQLite comme un magasin, mais je n'ai pas encore trouvé un document qui répertorie les restrictions, seulement qu'ils existent.
Désolé je ne peux pas être de plus d'aide.