summaryrefslogtreecommitdiff
path: root/platform/darwin/src/NSExpression+MGLAdditions.mm
diff options
context:
space:
mode:
Diffstat (limited to 'platform/darwin/src/NSExpression+MGLAdditions.mm')
-rw-r--r--platform/darwin/src/NSExpression+MGLAdditions.mm8
1 files changed, 4 insertions, 4 deletions
diff --git a/platform/darwin/src/NSExpression+MGLAdditions.mm b/platform/darwin/src/NSExpression+MGLAdditions.mm
index 17b130639f..58b9e2683b 100644
--- a/platform/darwin/src/NSExpression+MGLAdditions.mm
+++ b/platform/darwin/src/NSExpression+MGLAdditions.mm
@@ -662,9 +662,9 @@ NSArray *MGLSubexpressionsWithJSONObjects(NSArray *objects) {
NSMutableArray *arguments = [NSMutableArray array];
for (NSUInteger index = 0; index < argumentObjects.count; index++) {
- if ([argumentObjects[index] isKindOfClass:[NSArray class]]) {
- NSPredicate *conditional = [NSPredicate mgl_predicateWithJSONObject:argumentObjects[index]];
- NSExpression *argument = [NSExpression expressionWithFormat:@"%@", conditional];
+ if (index % 2 == 0 && index != argumentObjects.count - 1) {
+ NSPredicate *predicate = [NSPredicate mgl_predicateWithJSONObject:argumentObjects[index]];
+ NSExpression *argument = [NSExpression expressionForConstantValue:predicate];
[arguments addObject:argument];
} else {
[arguments addObject:[NSExpression mgl_expressionWithJSONObject:argumentObjects[index]]];
@@ -673,7 +673,7 @@ NSArray *MGLSubexpressionsWithJSONObjects(NSArray *objects) {
if (@available(iOS 9.0, *)) {
if (arguments.count == 3) {
- NSPredicate *conditional = [NSPredicate mgl_predicateWithJSONObject:argumentObjects.firstObject];
+ NSPredicate *conditional = [arguments.firstObject constantValue];
return [NSExpression expressionForConditional:conditional trueExpression:arguments[1] falseExpression:arguments[2]];
}
}