簡體   English   中英

在使用expressionValue(with:context :)時如何使用“ context”?

[英]How we can use “context” while using expressionValue(with:context:)?

我陷入了使用這種方法的功能。 所以我知道如何使用expressionValue(with:context :)函數,但是對於上下文如何參與我仍然是不透明的。 也許有人舉個簡單的例子?

try traversePropertyMappings {
propertyMapping, destinationName in
if let valueExpression = propertyMapping.valueExpression {
let context: NSMutableDictionary = ["source": sInstance]
guard let destinationValue =
  valueExpression.expressionValue(with: sInstance,
                                  context: context) else {
newAttachment.setValue(destinationValue,
}
 } }

上下文用於將變量綁定到評估值。 這是一個獨立的示例:

let context: NSMutableDictionary = ["a": 4.0, "b": 5.0]
let expr = NSExpression(format: "$a + 2 * $b")
if let result = expr.expressionValue(with: nil, context: context) as? Double {
    print(result) // 14.0
}

在您的代碼中, valueExpression包含一個“ $ source”變量,該變量在評估表達式時綁定到值sInstance

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM