我正在使用核心数据在我的应用程序中实现简单的登录身份验证。但是登录功能只有在我输入正确的用户名和密码时才有效,否则我会遇到异常:
"[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array'"
我知道这是因为我的代码不正确(即,我只检查是否相等)。但我不知道如何检查不平等。
任何人都可以帮助我使用核心数据执行此登录身份验证...
代码 :
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
NSEntityDescription *entityDesc = [NSEntityDescription entityForName:@"Employee"
inManagedObjectContext:context];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:entityDesc];
NSPredicate *pred = [NSPredicate predicateWithFormat:@"(employeeID = %@)",
self.employeeId.text];
[request setPredicate:pred];
NSManagedObject *matches = nil;
NSError *error;
NSArray *objects = [context executeFetchRequest:request error:&error];
matches=[objects objectAtIndex:0];
NSLog(@"qweertyuio%@",[matches valueForKey:@"employeeID"]);
if ([objects count] == 0)
{
status.text = @"No matches";
}
else
{
NSString *str=self.employeeId.text;
NSString *str1=[matches valueForKey:@"employeeID"];
matches=[objects objectAtIndex:0];
if ([str isEqualToString:str1])
{
NSLog(@"hai");
}
}