gpt4 book ai didi

dynamic - @objc 动态 var 在 Swift 4 中意味着什么

转载 作者:行者123 更新时间:2023-12-02 14:20:21 27 4
gpt4 key购买 nike

您能否简要解释一下 @objcdynamic 在使用 Xcode 9.x 的 Swift 4 中的含义?

通过尝试、错误以及 stackoverflow 中的后续文章,我最终实现了此代码片段的工作。但我想了解一些关于这些神奇关键字的知识。

enter image description here

class SampleViewController: NSViewController {

@objc class Parameters : NSObject {
@objc dynamic var value1: Double = 0 // bound to Value of a NSTextfield with NumberFormatter
@objc dynamic var value2: Double = 0 // as "parameters.value1" for the Model Key Path
}

@objc dynamic var parameters = Parameters()

@objc dynamic var value3: Double { // in the similar way as "value3" for the Model Key Path
get {
return parameters.value1 + parameters.value2
}
}

override class func keyPathsForValuesAffectingValue(forKey key: String) -> Set<String> {
switch key {
case "value3" :
return Set(["parameters.value1", "parameters.value2"])
default:
return super.keyPathsForValuesAffectingValue(forKey: key)
}
}

}

最佳答案

@objc 表示您希望您的 Swift 代码(类、方法、属性等)在 Objective-C 中可见。

动态表示您要使用 Objective-C 动态调度。

Swift 3 - dynamic vs @objc

关于dynamic - @objc 动态 var 在 Swift 4 中意味着什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48559768/

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