gpt4 book ai didi

ios - 如何将 UITextField 中的值与 CoreData 值进行比较

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:10:00 26 4
gpt4 key购买 nike

我正在使用核心数据在我的应用程序中实现一个简单的登录身份验证。但是登录功能只有在我输入正确的用户名和密码时才有效,否则我会得到一个异常:

[__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");
}

}

最佳答案

像下面这样尝试:-

NSArray *objects = [context executeFetchRequest:request error:&error];
if ([objects count] > 0) {
matches=[objects objectAtIndex:0];
NSLog(@"qweertyuio%@",[matches valueForKey:@"employeeID"]);
NSString *str=self.employeeId.text;
NSString *str1=[matches valueForKey:@"employeeID"];
matches=[objects objectAtIndex:0];
if ([str isEqualToString:str1]) {
NSLog(@"hai");
}
}
else
{
status.text = @"No matches";
}

关于ios - 如何将 UITextField 中的值与 CoreData 值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19680033/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com