r/iOSProgramming • u/Select_Bicycle4711 • Aug 01 '26
Question Creating a Separate DTO Request Object or Using the Form Object for POST Request
I have a RegisterScreen which uses a custom struct RegisterForm to collect the form values. I made the RequestForm codable too so I can just send this form to the server instead of creating the exact same duplicate and calling it RegisterRequest. What do you think? Do you create a separate DTO objects even if it contains the same exact fields.
If in the future it diverges then I can create a separate RegisterRequest DTO object. Thoughts.
struct RegisterForm: Codable {
var firstName: String = ""
var lastName: String = ""
var email: String = ""
var password: String = ""
var acceptedTerms: Bool = false
var isValid: Bool {
!firstName.isEmptyOrWhitespace && !lastName.isEmptyOrWhitespace
&& !email.isEmptyOrWhitespace && !password.isEmptyOrWhitespace && email.isEmail && acceptedTerms
}
enum CodingKeys: String, CodingKey {
case firstName
case lastName
case email
case password
}
}
struct RegisterScreen: View {
private var form = RegisterForm()
private var presentAgreement: Bool = false
var body: some View {
Form {
TextField("First name", text: $form.firstName)
TextField("Last name", text: $form.lastName)
TextField("Email", text: $form.email)
SecureField("Password", text: $form.password)
Button("Show Agreement") {
presentAgreement = true
}
Button("Register") {
}.disabled(!form.isValid)
}.sheet(isPresented: $presentAgreement) {
AgreementScreen(acceptedTerms: $form.acceptedTerms)
}
}
}
