Ios NSPredicate问题-找不到数据
我有这样一个核心数据模型:Ios NSPredicate问题-找不到数据,ios,core-data,nspredicate,Ios,Core Data,Nspredicate,我有这样一个核心数据模型: ArticleCache: -NSString*链接 我有一些自定义对象,如下所示: 文章: -NSString*linkString//NSString链接版本 -NSURL*链路 -NSString*标题 我有一个NSArray的Articles(articleList如下),我有一个带有ArticleCaches的核心数据存储 我正在尝试检索在我的文章列表中具有匹配链接的文章缓存: NSEntityDescription*articleCacheObject
ArticleCache:
-NSString*链接
我有一些自定义对象,如下所示:
文章:
-NSString*linkString//NSString链接版本
-NSURL*链路
-NSString*标题
我有一个NSArray
的Article
s(articleList
如下),我有一个带有ArticleCache
s的核心数据存储
我正在尝试检索在我的文章列表中具有匹配链接的文章缓存
:
NSEntityDescription*articleCacheObjectModel=[NSEntityDescription entityForName:@“ArticleCache”inManagedObjectContext:backgroundContext];
//设置获取请求
NSFetchRequest*request=[[NSFetchRequest alloc]init];
[请求集实体:articleCacheObjectModel];
//搜索将返回与链接匹配的所有项目
NSPredicate*searchPredicate=[NSPredicate predicateWithFormat:@“链接到%@”,文章列表];
[请求setPredicate:searchPredicate];
n错误*错误=nil;
NSArray*results=[backgroundContext executeFetchRequest:请求错误:&错误];
当我运行这个时,结果
总是空的,尽管我知道核心数据存储中有匹配的文章缓存
。我知道这一点,因为如果我从请求中删除谓词,我会得到所有的ArticleCache
s,我可以打印出它们各自的链接
s并进行比较
有什么想法吗?“ArticleCache”实体的“link”属性是一个字符串,在谓词中,您尝试测试该字符串是否包含在Article
对象数组中。这永远不会匹配
您可以首先构建一个字符串URL数组,例如
NSArray *urlList = [articleList valueForKey:@"linkString"];
然后在谓词中使用:
[NSPredicate predicateWithFormat:@"link in %@", urlList];
德普。谢谢出于某种原因,我认为魔法预言者会看穿我的物品。事实上,它是在与每篇文章
的标题
属性进行比较(无论出于何种原因)。