Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- - (IBAction)saveData:(id)sender {
- CoreDataAppDelegate *appDelegate =
- [[UIApplication sharedApplication] delegate]; // importe la base de donnée de l'application
- NSManagedObjectContext *context =
- [appDelegate managedObjectContext]; // importe le context de la base de donnée
- NSManagedObject *newContact;
- newContact = [NSEntityDescription
- insertNewObjectForEntityForName:@"Contacts"
- inManagedObjectContext:context]; // crée un objet pour la colonne "Contacts" et l'enregistre
- [newContact setValue: _name.text forKey:@"name"]; // définis les différents attributs de l'objet
- [newContact setValue: _address.text forKey:@"address"];
- [newContact setValue: _phone.text forKey:@"phone"];
- _name.text = @"";
- _address.text = @""; // vident les textfields
- _phone.text = @"";
- NSError *error;
- [context save:&error]; // sauvegarde le contexte de la base de donnée
- _status.text = @"Contact saved";
- }
- - (IBAction)findContact:(id)sender {
- CoreDataAppDelegate *appDelegate =
- [[UIApplication sharedApplication] delegate];
- NSManagedObjectContext *context =
- [appDelegate managedObjectContext];
- NSEntityDescription *entityDesc =
- [NSEntityDescription entityForName:@"Contacts"
- inManagedObjectContext:context]; // récupère la colonne "Contact"
- NSFetchRequest *request = [[NSFetchRequest alloc] init];
- [request setEntity:entityDesc]; // crée une requete visant la colonne "Contact"
- NSPredicate *pred =
- [NSPredicate predicateWithFormat:@"(name = %@)",
- _name.text]; // crée un critére avec le format "name = %@" avec %@ qui prend la valeur de _name.text
- [request setPredicate:pred]; // met le critère dans la requete
- NSManagedObject *matches = nil;
- NSError *error;
- NSArray *objects = [context executeFetchRequest:request
- error:&error]; // cherche tous les objets qui resultent de la requete
- if ([objects count] == 0) { // si la taille de liste des resultats est nulle
- _status.text = @"No matches";
- } else { //
- matches = objects[0];
- _address.text = [matches valueForKey:@"address"]; // rempli les informations selon le resultat trouvé
- _phone.text = [matches valueForKey:@"phone"];
- _status.text = [NSString stringWithFormat:
- @"%lu matches found", (unsigned long)[objects count]];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement