swift - 无法覆盖已标记为不可用的“init”
问题描述
必须调用超类“NSWindow”的指定初始化程序:
import Cocoa
class MyWindow: NSWindow {
init(contentRect: NSRect, styleMask aStyle: Int, backing bufferingType: NSWindow.BackingStoreType, defer flag: Bool) {
super.init(contentRect: contentRect, styleMask: NSWindow.StyleMask(rawValue: NSWindow.StyleMask.RawValue(aStyle)), backing: bufferingType, defer: flag)
self.titleVisibility = .hidden
}
required init?(coder: NSCoder) { // error: Cannot override 'init' which has been marked unavailable AND Failable initializer 'init(coder:)' cannot override a non-failable initializer
super.init(coder: coder) // error: 'init(coder:)' is unavailable
} }
解决方案
NSWindow
不支持编码。您可能不会也不需要实施init(coder:)
. 只需删除该方法;反正你什么也没做。
推荐阅读
- node.js - 如何将 ES6 导入转换为要求?
- sql-server - 调度呼叫的表设计
- python - 熊猫数据框列标题到数据标签
- javascript - React Apollo Hooks - 链式突变
- c++ - SSL_CTX_set_cipher_list() 没有影响
- dataweave - 将带有链接 Hashmap 条目的 Java Linked Hashmap 转换为对象数组
- spring-security - 有没有办法为个人消费者实现对 spring-cloud 消息的自定义验证?
- scala - 如何使用另一列中特定行的值填充新的 spark 数据框列。需要建议
- depth - 如何优化我的视差图视差图?
- python - 来自 API 的分页 XML 解析