Flo*_*scu 0 ios nsjsonserialization nsurlsession swift
我创建了一个类,当我尝试将对象转换为 AnyObject 时收到一条警告消息。警告是:“从‘Any’到‘AnyObject’的条件转换总是成功”如何从我的文件中删除此警告?
这是我的代码:
class WebServices
{
class func getRequest( urlString: String, successBlock :@escaping (_ response :AnyObject)->Void, errorMsg:@escaping (_ errorMessage :String)->Void )
{
var request = URLRequest(url: URL(string: urlString)!)
request.httpMethod = "GET"
let task = URLSession.shared.dataTask(with: request) { (data, urlResponse, error) in
DispatchQueue.main.async {
if(error == nil)
{
do {
// Here is the warning
let responseJSON = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? AnyObject
guard let _ = responseJSON else {
errorMsg("Some error has been occurred!")
return
}
successBlock(responseJSON!)
}
catch
{
errorMsg("Some error has been occurred!")
}
}
else
{
errorMsg(error!.localizedDescription)
}
}
}
task.resume()
}
}
Run Code Online (Sandbox Code Playgroud)
感谢你们抽出宝贵的时间阅读本文!
这个功能
let responseJSON = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? AnyObject
Run Code Online (Sandbox Code Playgroud)
返回Any和你将其转换为AnyObject几乎相同的内容,最好转换为预期的 json 内容,无论它是数组还是字典
let responseJSON = try JSONSerialization.jsonObject(with: data!) as? [String:Any]
Run Code Online (Sandbox Code Playgroud)
或者
let responseJSON = try JSONSerialization.jsonObject(with: data!) as? [Any]
Run Code Online (Sandbox Code Playgroud)
并相应地更改完成
| 归档时间: |
|
| 查看次数: |
5267 次 |
| 最近记录: |