私はAppleフォーラムからいくつかのコードを書いていました。すべてが正しいように見えますが、私は2つのエラーが発生し続けます。誰か助けてください。コードの下にエラーが続きます。プロトコル拡張エラーアレイ
protocol Container{
associatedtype ItemType
mutating func append(item: ItemType)
var count:Int{get}
subscript(i:Int)->ItemType{get}
}
extension Array: Container {}
func checkToSeeIfItemsEqual<C1:Container, C2:Container>(container1:C1, container2:C2) -> Bool where C1.ItemType == C2.ItemType, C1.ItemType:Equatable{
if container1.count != container2.count{
return false
}
for i in 0..<container1.count{
if container1[i] != container2[i]{
return false
}
}
return true
}
var damnArray = [1, 2, 4]
var damnArray2 = [1, 2, 4]
let theBool = checkToSeeIfItemsEqual(container1: damnArray, container2: damnArray2)
print(theBool)
あなたのメソッドの定義は少し異なります。アンダースコアを追加する必要があります:mutating func append(_ item:ItemType)。しかし、何か他のものも間違っています...あなたの配列にどんなタイプも使用しないようにしました。 –
「Any」が同等かどうかを調べるときに驚くかもしれないと思います。 –