错误域 = NSCocoaErrorDomain 代码 = 3840 “无值。” UserInfo=NSDebugDescription=无值。
Posted
技术标签:
【中文标题】错误域 = NSCocoaErrorDomain 代码 = 3840 “无值。” UserInfo=NSDebugDescription=无值。【英文标题】:Error Domain=NSCocoaErrorDomain Code=3840 "No value." UserInfo=NSDebugDescription=No value.错误域 = NSCocoaErrorDomain 代码 = 3840 “无值。” UserInfo=NSDebugDescription=无值。 【发布时间】:2018-04-04 02:37:42 【问题描述】:该方法工作正常,它在后端执行我想要的操作,但我在控制台中收到以下错误:
错误域=NSCocoaErrorDomain 代码=3840 “没有值。” UserInfo=NSDebugDescription=无值。
上述错误在catch
中被捕获。
我读出了建议为标题增加价值的类似问题,但也没有修复它。
let serverURL = URL(string: "https://xxx/xxx/xxx/xxx/xxx/email")
self.request = URLRequest(url:serverURL!)
self.request?.httpMethod = "POST"
self.request?.addValue("application/json", forHTTPHeaderField: "content-type")
self.request?.addValue("application/json", forHTTPHeaderField: "Accept")
do
self.request?.httpBody = try JSONSerialization.data(withJSONObject: postContent, options: .prettyPrinted)
catch let error
print(error.localizedDescription)
return
json 格式如下:postContent: [String: String]
, ["email": "myemail@domain.com"]
任务代码:
let task = URLSession.shared.dataTask(with: request) (data: Data?, response: URLResponse?, error: Error?) in
if (self.activityIndicator != nil)
self.removeActivityIndicator(activityIndicator: self.activityIndicator!)
guard let data = data else return
do
let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String:String]
if let parseJSON = json
self.alertMessage(message: "Please check your email for instructions.")
else
self.alertMessage(message: "Invalid email address!")
catch
self.alertMessage(message: "Could not send request. Try again!")
print(error)
task.resume()
【问题讨论】:
【参考方案1】:我认为你有一个拼写错误。你有没有尝试改变
self.request?.addValue("application/json", forHTTPHeaderField: "content-type")
到
self.request?.addValue("application/json", forHTTPHeaderField: "Content-Type")
【讨论】:
这不会做任何改变。 我在json
上得到零了
@MaihanNijat :您是否尝试将您的 JSONSerialization.jsonObject(with: data, options: .mutableContainers)
更改为 JSONSerialization.jsonObject(with: data, options: [])
【参考方案2】:
我收到了200
OK 响应,但 json 正文返回为空:
let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String:String]
我修改了 API 并添加了响应正文以解决此问题。
【讨论】:
没有理由在 Swift 中使用.mutableContainers
。以上是关于错误域 = NSCocoaErrorDomain 代码 = 3840 “无值。” UserInfo=NSDebugDescription=无值。的主要内容,如果未能解决你的问题,请参考以下文章
Json 错误:错误域 = NSCocoaErrorDomain 代码 = 3840“无值”。 UserInfo=NSDebugDescription=无值。
错误域 = NSCocoaErrorDomain 代码 = 3840 “字符周围的值无效
iOS swift 中的错误域 = NSCocoaErrorDomain 代码 = 3840?
iOS:- 错误:无法创建存储目录。错误域 = NSCocoaErrorDomain 代码 = 512
如何修复“错误域 = NSCocoaErrorDomain 代码 = 3840”无价值。“UserInfo = NSDebugDescription = 无价值。”