core data unable to fetch data due to error: unable to format the parse string nspredicate
core data unable to fetch data due to error: unable to format the parse string nspredicate
在观看关于核心数据的 youtube 教程时(https://youtu.be/mEAav7dM4hk?t=1581)* 我成功地保存了数据,但是当我尝试在按下 "searchperson" 按钮时获取数据时它抛出了错误:
I HAVE GOT TWO TEXT FIELDS :firstname and lastname
I HAVE GOT THREE BUTTONS :addperson, sarchperson and deleteperson
I HAVE GOT ONE DISPLAY LABEL TO TELL WHETER DATA(person) ADDED OR NOT
error:
CoreDataTutorialz2[1601:907] *** Terminating app due to
uncaught exception 'NSInvalidArgumentException', reason:
'Unable to parse the format string "firstname like %@,
lastname like %@"'
-(IBAction)搜索者:(id)发件人
{
NSEntityDescription *entitydesc=[NSEntityDescription entityForName:@"Person" inManagedObjectContext:context];
NSFetchRequest *request=[[NSFetchRequest alloc]init];
[request setEntity:entitydesc];
NSPredicate *predicate=[NSPredicate predicateWithFormat:@"firstname like %@, lastname like %@",self.firstnametextfield.text,self.lastnametextfield.text];
[request setPredicate:predicate];
NSError *error;
NSArray *matchingData=[context executeFetchRequest:request error:&error];
NSLog(@"error:%@",error);
if(matchingData.count <=0)
{
self.displaylabel.text=@"no person found";
}
else
{
NSString *first_name;
NSString *last_name;
for(NSManagedObject *obj in matchingData )
{
first_name=[obj valueForKey:@"firstname"];
last_name=[obj valueForKey:@"lastname"];
}
self.displaylabel.text= [NSString stringWithFormat:
@"firstname=%@, lastname=%@",first_name,last_name];
}
https://youtu.be/mEAav7dM4hk?t=1581
CAN ANYONE HELP ME OUT WHATS WRONG HERE. THANKS IN ADVANCE!
经过
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"firstname CONTAINS %@ AND lastname CONTAINS %@",self.firstnametextfield.text,self.lastnametextfield.text ];
在观看关于核心数据的 youtube 教程时(https://youtu.be/mEAav7dM4hk?t=1581)* 我成功地保存了数据,但是当我尝试在按下 "searchperson" 按钮时获取数据时它抛出了错误:
I HAVE GOT TWO TEXT FIELDS :firstname and lastname
I HAVE GOT THREE BUTTONS :addperson, sarchperson and deleteperson
I HAVE GOT ONE DISPLAY LABEL TO TELL WHETER DATA(person) ADDED OR NOT
error:
CoreDataTutorialz2[1601:907] *** Terminating app due to
uncaught exception 'NSInvalidArgumentException', reason:
'Unable to parse the format string "firstname like %@,
lastname like %@"'
-(IBAction)搜索者:(id)发件人
{
NSEntityDescription *entitydesc=[NSEntityDescription entityForName:@"Person" inManagedObjectContext:context];
NSFetchRequest *request=[[NSFetchRequest alloc]init];
[request setEntity:entitydesc];
NSPredicate *predicate=[NSPredicate predicateWithFormat:@"firstname like %@, lastname like %@",self.firstnametextfield.text,self.lastnametextfield.text];
[request setPredicate:predicate];
NSError *error;
NSArray *matchingData=[context executeFetchRequest:request error:&error];
NSLog(@"error:%@",error);
if(matchingData.count <=0)
{
self.displaylabel.text=@"no person found";
}
else
{
NSString *first_name;
NSString *last_name;
for(NSManagedObject *obj in matchingData )
{
first_name=[obj valueForKey:@"firstname"];
last_name=[obj valueForKey:@"lastname"];
}
self.displaylabel.text= [NSString stringWithFormat:
@"firstname=%@, lastname=%@",first_name,last_name];
}
https://youtu.be/mEAav7dM4hk?t=1581
CAN ANYONE HELP ME OUT WHATS WRONG HERE. THANKS IN ADVANCE!
经过 NSPredicate *predicate =[NSPredicate predicateWithFormat:@"firstname CONTAINS %@ AND lastname CONTAINS %@",self.firstnametextfield.text,self.lastnametextfield.text ];