尝试将响应中的数据保存到核心数据时崩溃 Swift Alamonfire
Crash when trying to save data to coredata from an response Swift Alamonfire
嗯,我遇到的问题真的很奇怪
我正在上传图片,在上传所有图片后,我想将响应路径保存到我的核心数据表中。
我正在尝试使用以下代码执行此操作:
Alamofire.upload(urlRequest.0, urlRequest.1)
.progress { (bytesWritten, totalBytesWritten, totalBytesExpectedToWrite) in
//println("\(totalBytesWritten) / \(totalBytesExpectedToWrite)")
}
.responseJSON { (request, response, JSON, error) in
println("REQUEST \(request)")
println("RESPONSE \(response)")
println("JSON \(JSON)")
println("ERROR \(error)")
if let dict = JSON as? [String: AnyObject] {
println(dict)
cd.saveUserPictures(dict["url"] as String,id: dict["id"] as String)
}
}
这个方法 cd.saveUserPictures 有效(我已经测试过了,只在这里出现这个错误。
错误本身是日志中的 "llbd" 错误,错误 code:exc_bad_access 代码=exc_i386_BPT
服务器的响应是:
JSON Optional({
id = 31;
message = "messages.added_photo";
success = 1;
url = "fL0cK1/tvXtHvegqIqmmzGz.png";
})
和 println(dict)
[id:31,消息:messages.added_photo,url:tvXtHvegqIqmmzGz.png,成功:1]
我做错了什么?
带键 "id" 的对象是数字,不是字符串。
所以 dict["id"] as String
不会起作用。将其替换为 String(dict["id"] as Int)
嗯,我遇到的问题真的很奇怪
我正在上传图片,在上传所有图片后,我想将响应路径保存到我的核心数据表中。
我正在尝试使用以下代码执行此操作:
Alamofire.upload(urlRequest.0, urlRequest.1)
.progress { (bytesWritten, totalBytesWritten, totalBytesExpectedToWrite) in
//println("\(totalBytesWritten) / \(totalBytesExpectedToWrite)")
}
.responseJSON { (request, response, JSON, error) in
println("REQUEST \(request)")
println("RESPONSE \(response)")
println("JSON \(JSON)")
println("ERROR \(error)")
if let dict = JSON as? [String: AnyObject] {
println(dict)
cd.saveUserPictures(dict["url"] as String,id: dict["id"] as String)
}
}
这个方法 cd.saveUserPictures 有效(我已经测试过了,只在这里出现这个错误。 错误本身是日志中的 "llbd" 错误,错误 code:exc_bad_access 代码=exc_i386_BPT 服务器的响应是:
JSON Optional({
id = 31;
message = "messages.added_photo";
success = 1;
url = "fL0cK1/tvXtHvegqIqmmzGz.png";
}) 和 println(dict)
[id:31,消息:messages.added_photo,url:tvXtHvegqIqmmzGz.png,成功:1]
我做错了什么?
带键 "id" 的对象是数字,不是字符串。
所以 dict["id"] as String
不会起作用。将其替换为 String(dict["id"] as Int)