Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何将NSNumberFormatter子类化_Swift_Macos_Interface Builder_Nsnumberformatter - Fatal编程技术网

Swift 如何将NSNumberFormatter子类化

Swift 如何将NSNumberFormatter子类化,swift,macos,interface-builder,nsnumberformatter,Swift,Macos,Interface Builder,Nsnumberformatter,我有一个用Swift编写的macOS应用程序,其中一些NSTextFields绑定到NSNumbers和NSNumberFormatters 由于我需要为这些数字设置特殊格式,我尝试创建一个自定义NSNumberFormatter: class CustomNumberFormatter: NSNumberFormatter { override func number(from string: String) -> NSNumber? { .... }

我有一个用Swift编写的macOS应用程序,其中一些NSTextFields绑定到NSNumbers和NSNumberFormatters

由于我需要为这些数字设置特殊格式,我尝试创建一个自定义NSNumberFormatter:

class CustomNumberFormatter: NSNumberFormatter {

    override func number(from string: String) -> NSNumber? {
    ....
    }

   override func string(from number: NSNumber) -> String? {
   ....
   }
}
关键是我收到了以下错误消息:

“NSNumberFormatter”已重命名为“NumberFormatter”

我尝试将NumberFormatter子类化,但在这种情况下,在情节提要中看不到CustomNumberFormatter

我错过了什么


先谢谢你

如果我从
NumberFormatter
中创建子类,它似乎工作得很好。将其放入故事板进行测试,效果良好。注意,模块与项目“Tester2”匹配,因此它选择了正确的类。我在macOS 10.15上使用的是Xcode 11.3(11C29),如果这有区别的话


我希望能够从下拉列表框中选择CustomNumberFormatter类,该列表框为空

手动写入类名解决了这个问题


我不知道这是否是预期的行为,但它起了作用。

嗨,卢卡斯,谢谢你的回答。我使用的是完全相同的开发环境,但1)CustomNumberFormatter在类中不可见,2)“Module”为空,而“Inherit Module From Target”被取消选择并禁用。有什么想法吗?@Fab我不太确定会有什么不同。可能该类不是同一编译目标的一部分?如果你想尝试在GitHub上发布一个项目,或者复制这个问题,我可以在我这边试试。对不起,我不知道会出什么问题。只是出于好奇:你为什么会这样?