在观看关于核心数据的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为)searchperson:(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!
答案 0 :(得分:0)
我在通过http://stackoverflow.com/questions/31468095/nspredicate-with-core-data?rq=1
NSPredicate * predicate = [NSPredicate predicateWithFormat:@&#34; firstname CONTAINS%@ AND lastname CONTAINS%@&#34;,self.firstnametextfield.text,self.lastnametextfield.text];