gpt4 book ai didi

swift - 在 Swift 中添加 ValueTransformer

转载 作者:可可西里 更新时间:2023-11-01 02:06:22 27 4
gpt4 key购买 nike

我想将 ValueTransformer 添加到 cocoa 绑定(bind)中。我创建了一个 ValueTransformer 类,但它在 IB 中不可见。当在 IB 中添加为 ValueTransformer 时,应用程序将在启动时崩溃

class myTransformer: ValueTransformer {

override func valueClassForBinding(_ binding: String) -> AnyClass? {
return NSString.self
}

override func transformedValue(_ value: Any?) -> Any? {
return "test"
}


}

Cannot find value transformer with name myTransformer

我错过了什么吗?

谢谢!

最佳答案

首先,将您的值转换器名称注册到 NSValueTransformerName。

extension
NSValueTransformerName {
static let myTransformerName = NSValueTransformerName( rawValue: "myTransformer")
}

然后在程序的最开始注册您的值转换器,即 AppDelegate 的初始化器。

@NSApplicationMain class
AppDelegate: NSObject, NSApplicationDelegate {
override
init() {
super.init()
ValueTransformer.setValueTransformer( myTransformer(), forName: .myTransformerName )
}
}

https://developer.apple.com/documentation/foundation/valuetransformer

关于swift - 在 Swift 中添加 ValueTransformer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42632442/

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