NSInvalidArgumentException',原因:'无法解析格式字符串" userName如%@ password,如%@"'

时间:2015-02-16 23:32:06

标签: ios core-data nspredicate

标题

我正在尝试从sql文件中获取数据,但我不断收到NSInvalidArgumentException。 如果有人可以帮我解决,我将非常感激。

- (IBAction)signIn:(id)sender {
    //Creating a fetch request
    AppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];
    //Create NSManagedObjectContext instance
    NSManagedObjectContext *context = [appDelegate managedObjectContext];
    NSEntityDescription  *entity = [NSEntityDescription entityForName:@"User" inManagedObjectContext:context];
    NSFetchRequest *request = [[NSFetchRequest alloc]init];
    [request setEntity:entity];
    NSPredicate *predicate= [NSPredicate predicateWithFormat:@"userName like %@ password like %@",self.username_signin.text, self.password_signin.text];
    [request setPredicate:predicate];
    NSError *error;

}

2 个答案:

答案 0 :(得分:3)

格式错误,因为它有两个部分,但你不能说它们应该如何组合。它应该是这样的:

userName like %@ AND password like %@

此外,您很可能应该使用=而不是like,因为您需要完全匹配而不是正则表达式匹配...

答案 1 :(得分:0)

我不确定。

这一行

NSPredicate *predicate= [NSPredicate predicateWithFormat:@"userName like %@ password like %@",self.username_signin.text, self.password_signin.text];

变化

NSPredicate *predicate= [NSPredicate predicateWithFormat:@"userName like %@ && password like %@",self.username_signin.text, self.password_signin.text];