首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >空核数据的executeFetchRequest返回零

空核数据的executeFetchRequest返回零
EN

Stack Overflow用户
提问于 2014-08-07 04:26:18
回答 1查看 2.1K关注 0票数 2

我在核心数据中遇到了一个奇怪的问题。基本上,我有一个空的核心数据,有几个模型,比如学生和老师。我试图执行以下代码:

代码语言:javascript
复制
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Student"];
request.predicate = [NSPredicate predicateWithFormat:@"(username = %@) AND (password = %@)", username, password];

// Determines if there is a match for student
NSError *error;
NSArray *matches = [self.context executeFetchRequest:request error:&error];
if (error || !matches || [matches count] > 1) {
    NSLog(@"Error in retrieving login match for student");
}
else if ([matches count]) {
    student = [matches firstObject];
}

奇怪的是,matches最终是nil,错误消息被打印出来。匹配不应该是空数组,因为空核心数据只意味着上下文找不到满足这些条件的NSManagedObject?

EN

回答 1

Stack Overflow用户

发布于 2014-08-07 14:23:29

简短的回答=是的,应该是的。

根据苹果文档

executeFetchRequest的返回值。满足请求所指定的条件的对象数组,从接收器和与接收器的持久存储协调器相关联的持久存储中获取。如果发生错误,则返回零如果没有任何对象与请求指定的条件匹配,则返回空数组

因此,请检查您的NSError

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25174139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档