Ios “如何删除警告”;来自'的条件强制转换;任何';至';任何对象';“永远成功”;
我创建了一个类,当我试图将一个对象强制转换为AnyObject时,会收到一条警告消息。 警告是:“从'Any'到'AnyObject'的条件转换始终成功” 如何从文件中删除此警告 这是我的密码:Ios “如何删除警告”;来自'的条件强制转换;任何';至';任何对象';“永远成功”;,ios,swift,nsurlsession,nsjsonserialization,Ios,Swift,Nsurlsession,Nsjsonserialization,我创建了一个类,当我试图将一个对象强制转换为AnyObject时,会收到一条警告消息。 警告是:“从'Any'到'AnyObject'的条件转换始终成功” 如何从文件中删除此警告 这是我的密码: class WebServices { class func getRequest( urlString: String, successBlock :@escaping (_ response :AnyObject)->Void, errorMsg:@escaping (_ errorM
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()
}
}
如果你们正在读这篇文章,谢谢你们抽出时间 此函数
let responseJSON = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? AnyObject
返回Any
并将其强制转换为AnyObject
,同样,最好是转换为预期的json内容,无论是数组还是字典
let responseJSON = try JSONSerialization.jsonObject(with: data!) as? [String:Any]
或
并相应地更改此函数的完成时间
let responseJSON = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? AnyObject
返回Any
并将其强制转换为AnyObject
,同样,最好是转换为预期的json内容,无论是数组还是字典
let responseJSON = try JSONSerialization.jsonObject(with: data!) as? [String:Any]
或
并相应地更改完成时间您为什么要这样做?任何对象?为什么要使用
AnyObject
而不使用Any
?@Larme如果从AnyObject修改为Any,则会收到相同的警告。我们的想法是删除警告。问题是:“那么,这条信息是什么?”?读一下。试着理解它:“从‘Any’到‘Any’的条件转换总是成功的”为什么要将Any转换为Any?演员阵容是什么?为什么要选演员?你为什么选as?任何对象
?为什么要使用AnyObject
而不使用Any
?@Larme如果从AnyObject修改为Any,则会收到相同的警告。我们的想法是删除警告。问题是:“那么,这条信息是什么?”?读一下。试着理解它:“从‘Any’到‘Any’的条件转换总是成功的”为什么要将Any转换为Any?演员阵容是什么?为什么要强制转换呢?如果我使用[Any],那么使用[String:Any]并不能从API获取任何数据。非常感谢施胡汗!如果我使用[Any],则正在使用[String:Any]不会从API获取任何数据。非常感谢施胡汗!