我更新了swift 3,发现了很多错误.这是其中之一:
"任何?"类型的值 没有会员'对象'
这是我的代码:
jsonmanager.post( "http://myapi.com",
parameters: nil,
success: { (operation: AFHTTPRequestOperation?,responseObject: Any?) in
if(((responseObject? as AnyObject).object(forKey: "meta") as AnyObject).object(forKey: "status")?.intValue == 200 && responseObject?.object(forKey: "total_data")?.intValue > 0){
let aa: Any? = (responseObject? as AnyObject).object(forKey: "response")
self.data = (aa as AnyObject).mutableCopy()
}
Run Code Online (Sandbox Code Playgroud)
新错误更新:
可选链没有效果,表达式已经产生'Any?'
和
不能调用非函数类型的值'Any?!'
它在以前的版本7.3.1 swift 2中运行良好.
这是json的回应:
{
"meta":{"status":200,"msg":"OK"},
"response":[""],
"total_data":0
}
Run Code Online (Sandbox Code Playgroud)
kab*_*rai 18
与斯威夫特2,斯威夫特3进口Objective-C的id
作为Any?
,而不是AnyObject?
(见本斯威夫特演进方案).要修复错误,您需要将所有变量强制转换为AnyObject
.这可能类似于以下内容:
jsonmanager.post("http://myapi.com", parameters: nil) { (operation: AFHTTPRequestOperation?, responseObject: Any?) in
let response = responseObject as AnyObject?
let meta = response?.object(forKey: "meta") as AnyObject?
let status = meta?.object(forKey: "status") as AnyObject?
let totalData = response?.object(forKey: "total_data") as AnyObject?
if status?.intValue == 200 && totalData?.intValue != 0 {
let aa = response?.object(forKey: "response") as AnyObject?
self.data = aa?.mutableCopy()
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19433 次 |
最近记录: |