gpt4 book ai didi

ios - 我如何从MGLConstantStyleValue迁移到NSExpression

转载 作者:行者123 更新时间:2023-12-01 18:37:32 24 4
gpt4 key购买 nike

我正在尝试从mapbox-sdk-3.7迁移到mapbox-sdk-4.0

我不明白如何将MGLConstantStyleValue的语法转换为NSExpression

let layer = style.layer(withIdentifier: "milestones") as? MGLSymbolStyleLayer
let styledValues: [String: MGLStyleValue<NSString>] = ...

layer.iconImageName = MGLConstantStyleValue(interpolationMode: .identity,
sourceStops: styledValues,
attributeName: "imageId")

最佳答案

Identity插值模式将要素属性的值用作样式值。因此,停止字典应该是不必要的。在您概述的情况下,看起来它使用了imageId的值。

使用NSExpression,您可能需要尝试layer.iconImageName = NSExpression(forKeyPath: "imageId")
如果您想考虑停站字典,可以考虑使用带有初始条件的MGL_MATCH,然后是该键的可能匹配项,如果存在比赛。如果没有指定的值匹配,则最后一个参数可以是默认样式值。
layer.iconImageName = NSExpression(format: "MGL_MATCH(imageID, 'imageID1', 'nameForImageID1', 'defaultImageName')")
您可能会发现这些指南很有帮助:

  • Predicates and Expressions
  • Migrating to Expressions
  • 关于ios - 我如何从MGLConstantStyleValue迁移到NSExpression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49946806/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com