Sobes.tech
Junior — Middle

Tem experiência com formulários de dados multinível ou complexos?

sobes.tech IA

Resposta da IA

Sim, no desenvolvimento iOS muitas vezes é necessário trabalhar com formulários de múltiplos passos, por exemplo, ao registar um utilizador ou preencher perfis complexos. Para facilitar e suportar a lógica nestes formulários, uso uma abordagem que divide em várias telas ou secções, e também aplico padrões como MVVM para gerir o estado.

Exemplo: se o formulário consiste em vários passos, pode-se armazenar os dados de cada passo num modelo separado e depois combiná-los para enviar ao servidor. Isto simplifica a validação e a navegação entre passos.

struct StepOneData {
    var name: String
    var email: String
}

struct StepTwoData {
    var address: String
    var phone: String
}

class FormViewModel {
    var stepOneData = StepOneData(name: "", email: "")
    var stepTwoData = StepTwoData(address: "", phone: "")

    func validateStepOne() -> Bool {
        // Validar nome e email
        return !stepOneData.name.isEmpty && stepOneData.email.contains("@")
    }

    func validateStepTwo() -> Bool {
        // Validar endereço e telefone
        return !stepTwoData.address.isEmpty && stepTwoData.phone.count >= 10
    }

    func submit() {
        // Combinar dados e enviar
    }
}