diff options
author | Fabian Guerra <fabian.guerra@mapbox.com> | 2018-04-11 10:37:43 -0400 |
---|---|---|
committer | Fabian Guerra <fabian.guerra@mapbox.com> | 2018-04-12 10:11:53 -0400 |
commit | b889e608c569a53f3853055d6c2cbd60b09cada6 (patch) | |
tree | 6b23d8b16d0e84f4dfcb10e2805d5cc4d42a6308 /platform/darwin/src/NSPredicate+MGLAdditions.mm | |
parent | d6139f0d0bec9cd489aa117a2cf956f31e5db9cf (diff) | |
download | qtlocation-mapboxgl-b889e608c569a53f3853055d6c2cbd60b09cada6.tar.gz |
[ios, macos] Add NSPredicate 'IN' expression filter support .
Diffstat (limited to 'platform/darwin/src/NSPredicate+MGLAdditions.mm')
-rw-r--r-- | platform/darwin/src/NSPredicate+MGLAdditions.mm | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/platform/darwin/src/NSPredicate+MGLAdditions.mm b/platform/darwin/src/NSPredicate+MGLAdditions.mm index ba616d2228..aeaf667b45 100644 --- a/platform/darwin/src/NSPredicate+MGLAdditions.mm +++ b/platform/darwin/src/NSPredicate+MGLAdditions.mm @@ -319,6 +319,10 @@ NSArray *MGLSubpredicatesWithJSONObjects(NSArray *objects) { NSArray *subpredicates = MGLSubpredicatesWithJSONObjects([objects subarrayWithRange:NSMakeRange(1, objects.count - 1)]); return [NSCompoundPredicate orPredicateWithSubpredicates:subpredicates]; } + if ([op isEqualToString:@"match"]) { + NSArray *subpredicates = MGLSubexpressionsWithJSONObjects([objects subarrayWithRange:NSMakeRange(1, objects.count - 1)]); + return [NSPredicate predicateWithFormat:@"%@ IN %@" argumentArray:subpredicates]; + } NSAssert(NO, @"Unrecognized expression conditional operator %@.", op); return nil; |