【发布时间】:2016-12-06 13:39:53
【问题描述】:
我用对象映射器映射我的类用户:
class User: Mappable{
private var _username: String! = nil
private var _password: String! = nil
private var _firstName: String! = nil
private var _lastName: String! = nil
//here are getters and setters(it takes too much space)
init(){
}
required init?(_ map: Map) {
}
func mapping(map: Map) {
username <- map["USERNAME"]
password <- map["PASSWORD"]
firstName <- map["FIRST_NAME"]
lastName <- map["LAST_NAME"]
}
}
然后我尝试创建新用户并输入一些值,映射整个对象并像这样使用 Alamofire 发送:
let userEmail = userEmailField.text!
let userPassword = userPasswordField.text!
let user = User()
user.username = userEmail
user.password = userPassword
let JSONString = Mapper().toJSONString(user, prettyPrint: true)
AlamofireService.alamofireService.makePostServiceRequest(URL_BASE, parameters: JSONString, resposeCallback: self)
我按照库的说明进行操作,但出现错误“无法转换 'String 类型的值?'到预期的参数类型'[String : AnyObject]'”,为什么?
【问题讨论】:
-
您收到的错误是什么?
-
@MatanLachmish 对不起,我忘了写。我编辑我的问题。
-
将私有实例变量与 getter 和 setter 一起使用是什么意思?这是斯威夫特!在 init 方法中隐式展开的选项是什么意思?值可以是
nil,然后将它们声明为 real 可选的,或者如果它们从不是nil,则将它们声明为非可选的。
标签: swift alamofire objectmapper