Alamofire 上下文类型 anyobject 不能与字典文字一起使用
Posted
技术标签:
【中文标题】Alamofire 上下文类型 anyobject 不能与字典文字一起使用【英文标题】:Alamofire Contextual type anyobject cannot be used with dictionary literal 【发布时间】:2016-08-14 21:51:41 【问题描述】:我正在调用一个 POST 请求,在该请求中我从另一个方法提供参数、url 并得到错误:
Contextual type anyobject cannot be used with dictionary literal
这就是我在这里调用并得到错误的方式:
API.sharedInstance.post(NSURL(string: baseURL)!, params: ["name": val, "owner": "John"])
这是我的Alamofire
代码:
func post(url: NSURL, params: AnyObject)
Alamofire.request(.POST, baseURL, parameters: params as! [String : AnyObject])
.validate()
.responseJSON response in
switch response.result
case .Success:
print("Validation Successful")
print("response = \(response)")
case .Failure(let error):
print(error)
【问题讨论】:
【参考方案1】:尝试替换
func post(url: NSURL, params: AnyObject)
Alamofire.request(.POST, baseURL, parameters: params as! [String : AnyObject])
与
func post(url: NSURL, params: [String : AnyObject])
Alamofire.request(.POST, baseURL, parameters: params)
【讨论】:
那是我之前的,但 XCode 推荐了我 [String: AnyObject] 并且没有用以上是关于Alamofire 上下文类型 anyobject 不能与字典文字一起使用的主要内容,如果未能解决你的问题,请参考以下文章
Swift 3/Alamofire 4 迁移,必须为 [String: AnyObject] 使所有元素“作为 AnyObject”
Alamofire 参数只接受 [String : Anyobject]?
在 Swift 中使用 JSON 的 Alamofire 请求后,如何在 AnyObject 中转换 <AnyObject> 响应?