summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjmkiley <jordan.kiley@mapbox.com>2019-09-12 16:07:52 -0700
committerjmkiley <jordan.kiley@mapbox.com>2019-09-25 14:28:56 -0700
commit5694dae876a1557560a59ee57bee34fe5c8adb3a (patch)
tree64f28c1b981a71d4b8738082562127bf81f31c5f
parent5dbf1e0257011adc212f07f391b2086769850f65 (diff)
downloadqtlocation-mapboxgl-5694dae876a1557560a59ee57bee34fe5c8adb3a.tar.gz
[ios] check whether expression is aggregate
-rw-r--r--platform/darwin/src/NSExpression+MGLAdditions.mm7
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;