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 ];