J'ai créé un type de tableau personnalisé. Maintenant, je veux avoir une méthode de plus, qui peut supprimer l'élément du tableau en passant l'élément réel en tant qu'argument. Je sais que cela peut être réalisé si nous ajoutons l'extension du tableau personnalisé comme Equitable.Comment créer une extension avec Equatable pour supprimer un élément de tableau personnalisé?
Ci-dessous mon code de tableau proxy:
struct ArrayProxy<T> {
var array: [T] = []
mutating func append(newElement: T) {
self.array.append(newElement)
print("Element added in download queue")
DownloadContent.downloadChaptersFromDownloadQueue()
}
mutating func removeAtIndex(index: Int) {
print("Removed object \(self.array[index]) at index \(index)")
self.array.remove(at: index)
}
subscript(index: Int) -> T {
set {
print("Set object from \(self.array[index]) to \(newValue) at index \(index)")
self.array[index] = newValue
}
get {
return self.array[index]
}
}
}
ci-dessous est mon extension du tableau proxy
extension ArrayProxy where T: Equatable {
mutating func removeElement(element: T) {
self.removeAtIndex(index: self.array.index(of: element)!)
}
}
Quelle est votre question? – Sweeper
J'ai mis à jour la question –
En fait, removeElemetat n'est pas accessible. Et j'ai aussi des doutes quant à savoir si je fais bien ou mal? –