У меня есть 3 текстовые поля, имя, возраст, номер телефона Каждый раз, когда я ввод значения на каждом поле будет храниться на основных данныхUpdate CoreData Атрибуты без дублирования
Также я хочу, чтобы проверить любое повторение в моей БД, что
- Сначала я хочу, чтобы проверить, есть ли повторение во имя
- Если любое повторение, а затем проверить возраст и номер телефона.
- Если возраст такой же, он не может быть изменен.
- Если разница в номере телефона, второе число заменит первый номер телефона.
Я пробовал много .. Просьбы помочь мне
Моего код
NSEntityDescription *entityDescc=[NSEntityDescription entityForName:@"Name" inManagedObjectContext:self.managedObjectContext];
NSFetchRequest *request=[[NSFetchRequest alloc]init];
[request setEntity:entityDescc];
NSPredicate *predicate=[NSPredicate predicateWithFormat:@"sname like %@ ",self.nameTextField.text];
[request setPredicate:predicate];
NSError *error;
NSArray *matchingData=[self.managedObjectContext executeFetchRequest:request error:&error];
if (matchingData.count<=0) {
NSEntityDescription *entityDesc=[NSEntityDescription entityForName:@"Name" inManagedObjectContext:self.managedObjectContext];
NSManagedObject *newObject=[[NSManagedObject alloc]initWithEntity:entityDesc insertIntoManagedObjectContext:self.managedObjectContext];
[newObject setValue:self.nameTextField.text forKey:@"sname"];
[newObject setValue:self.ageTextField.text forKey:@"age"];
NSError *error;
[self.managedObjectContext save:&error];
}
else{
int count=0;
for (record *obj in matchingData) {
NSEntityDescription *entityDescc=[NSEntityDescription entityForName:@"Name" inManagedObjectContext:self.managedObjectContext];
NSFetchRequest *request=[[NSFetchRequest alloc]init];
[request setEntity:entityDescc];
NSPredicate *predicate=[NSPredicate predicateWithFormat:@"age like %@ ",self.ageTextField.text];
[request setPredicate:predicate];
[request setPredicate:predicate];
NSError *error;
NSArray *matchingData=[self.managedObjectContext executeFetchRequest:request error:&error];
if (matchingData.count<=0) {
NSLog(@"Entered");
NSEntityDescription *entityDesc=[NSEntityDescription entityForName:@"Name" inManagedObjectContext:self.managedObjectContext];
NSManagedObject *newObject=[[NSManagedObject alloc]initWithEntity:entityDesc insertIntoManagedObjectContext:self.managedObjectContext];
[newObject setValue:self.ageTextField.text forKey:@"age"];
NSError *error;
[self.managedObjectContext save:&error];
}
++count;
}
}
это не проверяет атрибут Возраста
Какое имя атрибута используется для вашего _phone number_? а также имя имени переменной вашего _phone number_ 'textfield'. – GoGreen