gpt4 book ai didi

ios - 快速对象映射

转载 作者:行者123 更新时间:2023-11-29 00:47:07 26 4
gpt4 key购买 nike

你好,我是 Swift 编程的初学者。

我正在尝试制作一个带有登录名的应用程序,它将获取用户并传递数据,解析为 JSON 并将其发送到服务器。

我需要让用户只接受两个值:user 和 pass from 字段,将整个对象解析为 JSON 并发送 post 请求。

首先,我在为映射创建 User struc 时遇到问题:错误出现在 init 的末尾“从初始化程序返回而不初始化所有排序的属性”。

struct User: Mappable{
private var _username: String!
private var _password: String!
private var _firstname: String
private var _lastname: String

var username: String{

get{
return _username
}set(username){
self._username = username

}
}

var password: String{
get{
return _password
}set(password){
self._password = password
}
}

var firstname: String{
get{
return _firstname
}set(firstname){
self._firstname = firstname
}
}

var lastname: String{
get{
return _lastname
}set(lastname){
self._lastname = lastname
}
}

init(username: String, password: String){
self._username = username
self._password = password
}

init?(_ map: Map) {

}

mutating func mapping(map: Map) {
username <- map["USERNAME"]
password <- map["PASSWORD"]
firstname <- map["FIRST_NAME"]
lastname <- map["LAST_NAME"]
}
}

我知道我要学很多东西,但现在没有时间,所以必须完成这个。我正在努力学习尽可能多的知识。

非常感谢

最佳答案

所有非可选属性都必须在退出初始化方法之前进行初始化。将它们设置为空字符串(或其他)应该可以消除错误。

init(username: String, password: String){
self._username = username
self._password = password
self._firstname = ""
self._lastname = ""
}

init?(_ map: Map) {
self._username = ""
self._password = ""
self._firstname = ""
self._lastname = ""
}

或者,您可以将这些属性设为可选。

关于ios - 快速对象映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38506052/

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