gpt4 book ai didi

ios - Swift:我的便利 init 看不到正常的 init

转载 作者:可可西里 更新时间:2023-11-01 01:39:24 24 4
gpt4 key购买 nike

我正在尝试为我的类创建一个方便的初始化:User。我之前为另一个类(class)做过这个,并且 - 再次创建它 - 我使用了相同的代码,只是我的用户类(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
}

但是,Swift 看不到 self.init 方法。我得到一个 Could not find an overload for init that accepts the supplied arguments

怎么了?

最佳答案

除了Peter所说的字典数组,Location 对象的创建

Location(String(data["street"]!), String(data["city"]!), String(data["state"]!), String(data["zip"]!)

是错误的,因为缺少参数名称。根据您的其他代码假设这是 Swift 2,它应该是

Location(streetAddress: String(data["street"]!), city: String(data["city"]!), state: String(data["state"]!)

关于ios - Swift:我的便利 init 看不到正常的 init,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31754861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com