swift - 错误 : Extra parameter in request i used Swift 4. 为什么我必须传递类型为 [String : Any]? 的参数

标签 swift closures alamofire objective-c-blocks swift4

Alamofire.request(APPURL.GetAccounts, method: .post, 
                      parameters: transactionData,
                      encoding: JSONEncoding.default,
                      headers: nil).responseJSON { responseData in }

我的问题是限制我只能通过 [String:Any] 类型的字典的原因是什么?

完整代码:

class func getAccounts( transactionData: [String:Any]?, withCompletionHandler: @escaping (_ response:AnyObject?)->(Void) ) {

    Alamofire.request(APPURL.GetAccounts, method: .post, 
                      parameters: transactionData,
                      encoding: JSONEncoding.default,
                      headers: nil).responseJSON { responseData in

        if((responseData.result.value) != nil) {
            let swiftyJsonVar = JSON(responseData.result.value!)
            if let resData = swiftyJsonVar["Accounts"].arrayObject {
                let resultData = resData as! [[String:AnyObject]]
                withCompletionHandler(resultData as AnyObject)
            }else{
                withCompletionHandler(nil)
            }
        }else{
            withCompletionHandler(nil)
        }
    }
}

最佳答案

在 JSON 格式中,键必须始终是字符串,值可以是任何类型。这就是 JSON 在 Swift 中的工作方式。

关于swift - 错误 : Extra parameter in request i used Swift 4. 为什么我必须传递类型为 [String : Any]? 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48744855/

相关文章:

uitableview - layoutIfNeeded 影响表格 View 单元格

html - 使用 Swift 从网站解析表格数据

php - 为什么我的 php json_encode 不能在 alamofire 中使用 .responseJSON 序列化?

ios - 使用 Dictionary(uniqueKeysWithValues :)) 转换 Swift 5 中的字典键类型

ios - 用户更改角色后如何重新加载选项卡栏项目

iOS - 保存登录的用户信息

swift - 从 swift 2 转换代码时出现关闭错误

javascript - 在组件内部定义自定义 Hook 有什么问题吗?

function - lambda 定义有什么乐趣?

swift - Alamofire 库 Void 不可转换为 Response<AnyObject, NSError> -> Void