Advertisement
Guest User

Untitled

a guest
Mar 29th, 2015
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. - (IBAction)saveData:(id)sender {
  2.     CoreDataAppDelegate *appDelegate =
  3.     [[UIApplication sharedApplication] delegate]; // importe la base de donnée de l'application
  4.  
  5.    NSManagedObjectContext *context =
  6.     [appDelegate managedObjectContext]; // importe le context de la base de donnée
  7.    NSManagedObject *newContact;
  8.    newContact = [NSEntityDescription
  9.        insertNewObjectForEntityForName:@"Contacts"
  10.        inManagedObjectContext:context]; // crée un objet pour la colonne "Contacts" et l'enregistre
  11.    [newContact setValue: _name.text forKey:@"name"]; // définis les différents attributs de l'objet
  12.    [newContact setValue: _address.text forKey:@"address"];
  13.    [newContact setValue: _phone.text forKey:@"phone"];
  14.    _name.text = @"";
  15.    _address.text = @""; // vident les textfields
  16.    _phone.text = @"";
  17.    NSError *error;
  18.    [context save:&error]; // sauvegarde le contexte de la base de donnée
  19.    _status.text = @"Contact saved";
  20. }
  21.  
  22.  
  23. - (IBAction)findContact:(id)sender {
  24.     CoreDataAppDelegate *appDelegate =
  25.        [[UIApplication sharedApplication] delegate];
  26.  
  27.     NSManagedObjectContext *context =
  28.        [appDelegate managedObjectContext];
  29.  
  30.     NSEntityDescription *entityDesc =
  31.        [NSEntityDescription entityForName:@"Contacts"
  32.        inManagedObjectContext:context]; // récupère la colonne "Contact"
  33.  
  34.     NSFetchRequest *request = [[NSFetchRequest alloc] init];
  35.     [request setEntity:entityDesc]; // crée une requete visant la colonne "Contact"
  36.  
  37.     NSPredicate *pred =
  38.        [NSPredicate predicateWithFormat:@"(name = %@)",
  39.         _name.text]; // crée un critére avec le format "name = %@" avec %@ qui prend la valeur de _name.text
  40.     [request setPredicate:pred]; // met le critère dans la requete
  41.     NSManagedObject *matches = nil;
  42.  
  43.     NSError *error;
  44.     NSArray *objects = [context executeFetchRequest:request
  45.         error:&error]; // cherche tous les objets qui resultent de la requete
  46.  
  47.     if ([objects count] == 0) { // si la taille de liste des resultats est nulle
  48.        _status.text = @"No matches";
  49.     } else { //
  50.        matches = objects[0];
  51.        _address.text = [matches valueForKey:@"address"]; // rempli les informations selon le resultat trouvé
  52.        _phone.text = [matches valueForKey:@"phone"];
  53.        _status.text = [NSString stringWithFormat:
  54.            @"%lu matches found", (unsigned long)[objects count]];
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement