Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSPredicate问题-找不到数据_Ios_Core Data_Nspredicate - Fatal编程技术网

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];

德普。谢谢出于某种原因,我认为魔法预言者会看穿我的物品。事实上,它是在与每篇
文章
标题
属性进行比较(无论出于何种原因)。