【问题标题】:Swift 3 [String: AnyObject]() gives Cannot call value of non-function type UInt -> DataSwift 3 [String: AnyObject]() 给出了不能调用非函数类型 UInt -> Data 的值
【发布时间】:2016-10-05 18:40:34
【问题描述】:

我正在尝试将一些参数附加到我的 Alamofire 请求中。

var parameters = [String: AnyObject]()

parameters["firstimg"] = fetchedImagesArray[0] as AnyObject?

parameters["secondimg"] = fetchedImagesArray[1] as AnyObject?

然后:

    for (key, value) in parameters {
        multipartFormData.append(value.data(using: String.Encoding.utf8)!, withName: key)
}

但是当我尝试附加参数时,我得到了错误: 不能调用非函数类型UInt的值->数据

【问题讨论】:

  • 仅供参考 Alamofire 参数默认为 [String: Any] 而不是 [String: AnyObject]
  • @Aaron 我应该如何声明 var parameters = [String: AnyObject]() 那么?
  • var parameters: [String: Any]?
  • fetchedImagesArray 中有什么内容?字符串?
  • @Sam_M 是的,它们是字符串

标签: ios swift xcode swift3 alamofire


【解决方案1】:

您需要将value 转换为String 才能对其使用data(using: .utf8) 方法:

if let stringValue = value as? String {
    multipartFormData.append(stringValue.data(using: String.Encoding.utf8)!)
}

【讨论】:

    猜你喜欢
    • 2017-07-02
    • 1970-01-01
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    相关资源
    最近更新 更多