你能简单解释一下什么吗@objc
and dynamic
在 Swift 4 中使用 Xcode 9.x 意味着什么?
通过尝试、错误以及 stackoverflow 中的后续文章,我最终实现了此代码片段的工作。但我想了解一些关于这些神奇关键字的知识。
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 中可见。
dynamic意味着你想使用 Objective-C 动态调度。
Swift 3 - 动态与 @objc https://stackoverflow.com/questions/40795840/swift-3-dynamic-vs-objc
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)