diff options
author | jmkiley <jordan.kiley@mapbox.com> | 2019-09-12 16:07:52 -0700 |
---|---|---|
committer | jmkiley <jordan.kiley@mapbox.com> | 2019-09-25 14:28:56 -0700 |
commit | 5694dae876a1557560a59ee57bee34fe5c8adb3a (patch) | |
tree | 64f28c1b981a71d4b8738082562127bf81f31c5f | |
parent | 5dbf1e0257011adc212f07f391b2086769850f65 (diff) | |
download | qtlocation-mapboxgl-5694dae876a1557560a59ee57bee34fe5c8adb3a.tar.gz |
[ios] check whether expression is aggregate
-rw-r--r-- | platform/darwin/src/NSExpression+MGLAdditions.mm | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/platform/darwin/src/NSExpression+MGLAdditions.mm b/platform/darwin/src/NSExpression+MGLAdditions.mm index b502851722..3231356fe6 100644 --- a/platform/darwin/src/NSExpression+MGLAdditions.mm +++ b/platform/darwin/src/NSExpression+MGLAdditions.mm @@ -1066,7 +1066,12 @@ NSArray *MGLSubexpressionsWithJSONObjects(NSArray *objects) { NSExpression *count = [NSExpression expressionForFunction:@"count:" arguments:self.arguments]; return [NSExpression expressionForFunction:@"divide:by:" arguments:@[sum, count]].mgl_jsonExpressionObject; } else if ([function isEqualToString:@"sum:"]) { - NSArray *arguments = [self.arguments.firstObject.collection valueForKeyPath:@"mgl_jsonExpressionObject"]; + NSArray *arguments; + if (self.expressionType == NSConstantValueExpressionType) { + arguments = [self.arguments valueForKeyPath:@"mgl_jsonExpressionObject"]; + } else { + arguments = [self.arguments.firstObject.collection valueForKeyPath:@"mgl_jsonExpressionObject"]; + } return [@[@"+"] arrayByAddingObjectsFromArray:arguments]; } else if ([function isEqualToString:@"count:"]) { NSArray *arguments = self.arguments.firstObject.mgl_jsonExpressionObject; |