demande de récupération pour l'entité.attribut == @“somevalue”
Comment puis-je configurer une demande de récupération de tirer seulement les données d'une entité attribut avec une valeur particulière? C'est le code de base que j'ai utilisé avant.
-(void)fetchResults
{
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:self.entityDescription.name];
NSString *cacheName = [self.entityDescription.name stringByAppendingString:@"Cache"];
//predicate code
if (self.predicate != nil) {
[fetchRequest setPredicate:self.predicate];
}
//end of predicate code
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];
self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil cacheName:cacheName];
BOOL success;
NSError *error;
success = [self.fetchedResultsController performFetch:&error];
if (!success)
{
NSLog(@"%@", [error localizedDescription]);
}
}
J'ai été regarder cette page: http://bit.ly/KevYwR est-ce la bonne direction?
Dois-je utiliser NSPredicate
ou je peux faire sans?
Merci pour toute aide, pointez dans la bonne direction, etc.
OriginalL'auteur jpgr | 2012-05-16
Vous devez vous connecter pour publier un commentaire.
La configuration d'un
NSFetchRequest
est équivalent à une statetement en langage SQL.Ici un exemple simple:
Le tableau
results
contient tous les objets contenus dans le fichier sqlite. Si vous voulez prendre un objet spécifique (ou plusieurs objets de), vous devez utiliser un prédicat à cette demande. Par exemple:Dans ce cas
results
contient les objets dont l'attribut est égal àSome Value
. Définition d'un prédicat est égal à mettre la clause where d'une instruction SQL.Note
Je suppose que le nom de l'entité est
EntityName
et de ses biens est appeléattribute
qui est de type string.Pour plus d'informations, je vous suggère de lire la Base de Données guide de programmation et
NSFecthRequest
classe de référence.http://developer.apple.com/library/iOS/#documentation/Cocoa/Conceptual/CoreData/cdProgrammingGuide.html
https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/CoreDataFramework/Classes/NSFetchRequest_Class/NSFetchRequest.html
Espère que cela aide.
OriginalL'auteur Lorenzo B