if let tenorReceived = try JSONDecoder().decode([TenorModel].self, from: responseString){
}
Estou recebendo o erroInitializer for conditional binding must have Optional type, not '[TenorModel]'
como consertar isso?
TENHO QUE usar try
e não try?
para poder detectar erros, como fazer isso?
O erro diz que o
decode()
retorna um valor não opcional: uma matriz deTenorModel
objetos -[TenorModel]
.Como
if let
é uma vinculação condicional que precisa ser usada com um tipo opcional e sua saída não é opcional (o que significa que você obterá uma matriz não importa o que aconteça, mesmo que esteja vazia), o erro faz sentido.Isto deve resolver:
if let
espera que um tipo opcional seja desembrulhado, mas try ou obtém sucesso (e retorna um valor não opcional) ou falha ao lançar um erro. Isso torna do-catch a construção apropriada para lidar com erros nesse caso.