Eu tenho o seguinte código
if let id = items[indexPath.row]["id"] {
if let idx = savedGoals.index(of: id) {
savedGoals.remove(at: idx)
}
}
Eu recebo o erroType 'Any' cannot conform to 'Equatable'
on-lineif let idx = savedGoals.index(of: id) {
savedGoals é declarado como
var savedGoals = []
Alguém sabe por que estou recebendo esse erro?
Você vai querer ser mais explícito no uso de tipos, para minimizar o uso de
Any
:Você diz que isso
savedGoals
foi declarado como:Fiquei surpreso que funcionou, pois normalmente isso resultaria em um erro como:
De qualquer forma, você pode resolver essa ambiguidade especificando um tipo, por exemplo:
Não podemos dizer que tipo
id
é esse a partir desses trechos de código, mas espero que isso ilustre a ideia.Assumindo que
items
é um array de dicionários, você provavelmente precisará ser mais específico no tipo deid
, também. Assim, em vez de:Talvez: