考虑以下 JSON 对象:
[
{
"name":"joe",
"place":"here",
"type":[
"abc",
"cde",
"efg"
]
},
{
"name":"ian",
"place":"somewhere",
"type":[
"c",
"ddd",
"eee"
]
},
{
"name":"mike",
"place":"there",
"type":[
"any",
"place",
"nice"
]
},
]
我如何在 Objective-C 中创建一个谓词来查询不同“类型”对象的值并根据它进行过滤
谢谢
Best Answer-推荐答案 strong>
使用 block 创建谓词,并在 block 内创建比较函数。
NSPredicate *predicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary * bindings) {
if([[evaluatedObject objectForKey"name"] isEqual"SomeString]) {
return YES;
} else {
return NO;
}
}
这个简单的第一级比较,但你明白了。从此对象中,您可以更深入地返回 YES/NO,此时您可以确定比较结果。
关于带有嵌套 JSON 数组的 iOS NSPredicate,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/27484576/
|