I am trying to create a convenience init for my class: User. I've done this before for another class, and - to create it again - I have used the same code, just differed for my User class.
Here is my User class:
import Foundation
class User {
//Database Variables
let userID: String?
let firstName: String?
let lastName: String?
let password: String?
let emailID: String?
let dob: String? //timestamp
let picture: String? //URL?
let location: Location?
let sex: String?
convenience init(data: [[String: AnyObject]]) {
self.init(userID: String(data["user_id"]!), firstName: String(data["first_name"]!), lastName: String(data["last_name"]!), password: String(data["password"]!), emailID: String(data["email"]!), dob: String(data["dob"]!), picture: String(data["picture"]!), location: Location(String(data["street"]!), String(data["city"]!), String(data["state"]!), String(data["zip"]!), String(data["country"]!)), sex: String(data["sex"]!))
}
init (userID: String, firstName: String, lastName: String, password: String, emailID: String, dob: String, picture: String, location: Location, sex: String) {
self.userID = userID
self.firstName = firstName
self.lastName = lastName
self.password = password
self.emailID = emailID
self.dob = dob
self.picture = picture
self.location = location
self.sex = sex
}
However, Swift doesn't see the self.init method. I am getting a Could not find an overload for init that accepts the supplied arguments
What is wrong?
Aucun commentaire:
Enregistrer un commentaire