好吧,这将教会我用一年半的时间来定下 Swift 编程。显然事情已经改变了。
在我过去的程序中,我的 MainWindowController 里面的这个非常高兴:
class MainWindowController: NSWindowController {
override var windowNibName: String? {
return "MainWindowController"
}
...
但现在我收到这个错误:
属性“windowNibName”,类型为“String?”不能覆盖
类型为“NSNib.Name?”的属性
我一直在谷歌上搜索并浏览 Stack Overflow,但一直无法弄清楚确切的问题是什么以及如何解决它。过去一年半以来,这方面发生了哪些变化?想法将受到欢迎。
提前致谢!
现在类型为windowNibName
替换为struct
from String
.
您可以查看更多详细信息here https://developer.apple.com/documentation/appkit/nsnib.name。
要修复错误,您可以使用以下代码:
class MainWindowController: NSWindowController {
override var windowNibName: NSNib.Name? {
return NSNib.Name("MainWindowController")
}
}
如果使用 -initWithWindowNibPath:owner: 来初始化实例,则会给出最后一个路径组件及其扩展名
剥去。如果使用 -initWithWindowNibName:[owner:] 这只是
给出了这个名字。
open var windowNibName: NSNib.Name? { get }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)