Swift struct error: missing argument labels in call
The struct error: missing argument labels in call can occur for a call to the structure.
This type of error occurs when you create an object for a struct, but did not mention argument labels in the struct call.
Let us recreate this scenario.
main.swift
struct car { var brand: String var name: String var capacity: Int init(brand: String, name: String, capacity: Int) { self.brand = brand self.name = name self.capacity = capacity } } let car1 = car("Hyundai", "Creta", 5) print("Car details\n-----------") print("Brand is \(car1.brand)") print("Name is \(car1.name)") print("Seating capacity is \(car1.capacity)")
Output
main.swift:13:15: error: missing argument labels 'brand:name:capacity:' in call let car1 = car("Hyundai", "Creta", 5) ^ brand: name: capacity:
To solve this error, we have to provide the argument labels while calling the structure with initial values.
main.swift
struct car { var brand: String var name: String var capacity: Int init(brand: String, name: String, capacity: Int) { self.brand = brand self.name = name self.capacity = capacity } } let car1 = car(brand: "Hyundai", name: "Creta", capacity: 5) print("Car details\n-----------") print("Brand is \(car1.brand)") print("Name is \(car1.name)") print("Seating capacity is \(car1.capacity)")
Observe that we have provided the argument labels: brand, name and capacity in the struct call.
Now the program runs without any error.
Output
Car details ----------- Brand is Hyundai Name is Creta Seating capacity is 5
Conclusion
In this Swift Tutorial, we have learned to solve the error: missing argument labels in call.