Ara*_*and 4 iphone macos core-data nsfetchrequest
我有一个核心数据模型如下

该attributes物业Page是一组DictionaryEntry,他们是我的Page对象的值,很像一个标准NSDictionary(除了所有的keys和values都是字符串)
我有一个Page具有DictionaryEntry与key="title"和value="Home".我如何形成一个获取请求来加载该特定页面?
您应该查看子查询的谓词语法.您不能使用通常的ANY关键字,因为这只允许您同时匹配一列而不是两列.
NSString *keyValue = @"title";
NSString *valueValue = @"home";
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"Page" inManagedObjectContext:_context]];
[request setPredicate:[NSPredicate predicateWithFormat:@"(SUBQUERY(attributes, $a, $a.key == %@ && $a.value == %@).@count != 0)", keyValue, valueValue]];
Run Code Online (Sandbox Code Playgroud)
更简单的谓词ANY attributes.key = "title" AND ANY attributes.value = "home"不起作用,因为它还返回具有两个词组的页面,例如key ='addr'/ value ='home'和key ='title'/ value ='pete'.
| 归档时间: |
|
| 查看次数: |
1919 次 |
| 最近记录: |