0
私のUI要素のコンテナを定義しようとしています。ジェネリック型関連する型のプロトコルを実装する構造体
protocol OptionProtocol:Comparable {
associatedtype Key:Comparable
associatedtype Value:Comparable
var key:Key { get set }
var value:Value { get set }
var main:Bool { get set }
static func <(lhs: Self, rhs: Self) -> Bool
static func ==(lhs: Self, rhs: Self) -> Bool
}
extension OptionProtocol {
static func <(lhs: Self, rhs: Self) -> Bool {
let equalKeys = lhs.key == rhs.key
return equalKeys ? lhs.value < rhs.value : lhs.key < rhs.key
}
static func ==(lhs: Self, rhs: Self) -> Bool{
return (lhs.value == rhs.value) && (lhs.key == rhs.key)
}
}
は、今私がしたい:私は、私は以下のプロトコルを思い付いた任意の同等のオブジェクトと、好ましい選択肢であることの概念することができ、非一意のラベルをカプセル化し、何か、値を望んでいたよう
一般的な構造体でプロトコルを実装し、私はどのように把握できません。私は何をしたい
struct Option<Key, Value>: OptionProtocol {
var key:Key
var value:Value
var main:Bool
}
である。しかし、コンパイラType 'Option<Key, Value>' does not conform to protocol 'OptionProtocol'
どれポインタが参考になると文句を言い