2
respostas

SpecialistCardView error

Está dando erro, podem me ajudar? Não estou conseguindo perceber o erro! Rsrsrs

SpecialistCardView(specialist: appointment.specialist)

ERRO: Cannot convert value of type 'String' to expected argument type 'Specialist'

https://postimg.cc/D4XQxYmx

2 respostas

Olá, estudante. Tudo bem?

Pelo que você compartilhou, parece que você está tentando passar uma string para uma função ou componente que espera receber um objeto do tipo 'Specialist'.

Quando você chama SpecialistCardView(specialist: appointment.specialist), parece que appointment.specialist é uma string, mas SpecialistCardView está esperando um objeto 'Specialist'.

Para resolver isso, você precisa garantir que appointment.specialist seja um objeto 'Specialist'. Se appointment.specialist é uma string que representa o nome de um especialista, você pode precisar criar um novo objeto 'Specialist' com esse nome, algo como:

let specialist = Specialist(name: appointment.specialist)
SpecialistCardView(specialist: specialist)

Claro, isso é apenas um exemplo e pode não se aplicar diretamente ao seu código. O importante é que appointment.specialist deve ser um objeto 'Specialist', não uma string.

Espero ter ajudado e bons estudos!

Não sei exatamente como implemento isso no meu código!

Pode me ajudar novamente?

https://postimg.cc/D4XQxYmx

struct MyAppointmentsView: View {

let service = WebService()

@State private var appointments: [Appointment] = []

func getAllAppointments() async {
    do {
        if let appointments = try await service.getAllAppointmentsFromPatient(patientID: patientID) {
            self.appointments = appointments
        }
    } catch {
        print("Ocorreu um erro ao obter consultas: \(error)")
    }
}

var body: some View {
    ScrollView(showsIndicators: false) {
        ForEach(appointments) { appointment in
            SpecialistCardView(specialist: appointment.specialist)
        }
    }