我想延长我的协议Option与Comparable使用简单的.sort()方法.
以下简短示例仅Equatable用于显示错误.
@objc protocol Option: Equatable {
var title: String { get }
var enabled: Bool { get }
var position: Int { get }
}
func ==(lhs: Option, rhs: Option) -> Bool {
return lhs.position == rhs.position
}
Run Code Online (Sandbox Code Playgroud)
该Option协议必须被标记为@objc或从继承NSObjectProtocol因为它会与被使用UIKit.
错误:
@objc协议'选项'无法改进非@objc协议'Equatable'
协议'选项'只能用作通用约束,因为它具有自我或相关类型要求
你有什么建议如何解决这个问题?