我有一个验证用户凭据的Mac应用程序,Name&销。使用CoreData
,如何引用特定key
的{{1}}?例如,在数据库中,John Doe的PIN为1234.当用户选择他们的名字时,他们输入他们的PIN并点击登录按钮。如果引脚与value
在其数据库中的匹配,则允许用户继续。我已经准备好了所有设置,我只是无法弄清楚如何从Core Data获取PIN值。然后,我将它与用户输入的字符串值进行比较,以验证用户的凭据。它可能很简单,但我无法弄清楚。实体名称:CoreData
属性:'employeeName'& 'employeePin'。
Employee
感谢任何帮助。
答案 0 :(得分:0)
您需要设置这样的获取请求:
NSError *aError = nil;
NSEntityDescription *entityDescription = [NSEntityDescription
entityForName:@"Employee" inManagedObjectContext:self.currentManagedObjectContext];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDescription];
NSPredicate* entriesPredicate = [NSPredicate predicateWithFormat:@"employeeName = %@", name];
NSSortDescriptor* sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES];
[request setPredicate:entriesPredicate];
[request setSortDescriptors:@[sortDescriptor]];
NSArray *employeeArray = [self.currentManagedObjectContext executeFetchRequest:request error:&aError];
EmployeeObject *retrievedEmployee = [employeeArray lastObject];
NSString *retrievedPin = retrievedEmployee.employeePin;
另外,我同意@trojanfoe你需要在将引脚插入数据库之前对其进行散列。