ios - 为什么我不能在 Xcode 12 中覆盖 isEqual(_ object:)?
问题描述
我正在使用一个最初用 Swift 编写的类,它NSObject
从第三方 XCFramework 扩展而来:
open class ExampleClass: NSObject, Codable { ... }
由于这是一个第三方类,我无法修改原来的类,所以我在它之上创建了一个扩展来覆盖 isEqual(_ object:)
:
extension ExampleClass {
override open func isEqual(_ object: Any?) -> Bool {
return true
}
}
这目前在 Xcode 11 上编译和构建良好,但在 Xcode 12 上使用相同的分支,我收到一个错误消息'@objc' instance method in extension of subclass of 'ExampleClass' requires iOS 13.0.0
我发现了一个类似的问题,似乎暗示在 Swift 扩展中不能覆盖功能,但我试图了解自从从 Xcode 11 迁移到 12 后发生了什么变化。最近有什么变化阻止了这种情况发生?关于解决这个问题的任何想法?
解决方案
推荐阅读
- asp.net-mvc - .Net MVC - HostingEnvironment.QueueBackgroundWorkItem 的后台进程实现
- c++ - boost如何在windows上为interprocess_mutex生成一个唯一的名字
- asp.net - 在提交按钮上关闭 Jquery 移动面板
- r - 如何将 url 地址中的 xls 文件上传到 R Studio?
- docker - 如何完全删除 Docker?
- javascript - 替换标题中的文本 - 未捕获的类型错误:str.substring 不是函数
- javascript - SVG 内容从 IFrame 文档内容中消失
- video - 如何将 ATS 文件转换为 SFMOV 文件?
- c# - 如何在 Identity .net 核心中自定义 AddToRoleAsync
- spring-boot - Spring Integration 如何使用带有 JavaConfig 的控制总线,没有 DSL