ios - 无法转换类型 [NSObject : AnyObject] to string

标签 ios swift

我在 Swift 中使用 Xcode 7.2 编写了这段代码 ..

func silentPostData(serverName: String, serverport serverPort: String, serverurl serverURL: String, parameters: [NSObject : AnyObject], urldata urlData: NSData) {
    let persist = Persistence()
    var finalURl = "https://\(serverName):\(serverPort)/\(serverURL)"
    for key : String in parameters  {
        finalURL = finalURL.stringByAppendingString(key)
        finalURL = finalURL.stringByAppendingString("=")
       finalURL = finalURL.stringByAppendingString((parameters[key] as! String))
        finalURL = finalURL.stringByAppendingString("&")
    }
}

我在“for key : String in parameters {”行中收到错误(如标题所述)。基于之前的回答'(NSObject, AnyObject)' is not convertible to 'String' ,我尝试将其转换为 NSString ,但没有成功。所以有人知道如何将 [NSObject:AnyObject] 转换为字符串吗?提前谢谢你。

最佳答案

正如评论所说,它是一个字典,你可以通过这样做来获取字符串:

parameters.keys.flatMap { $0 as? String }.forEach {
    finalURL = finalURL.stringByAppendingString($0)
    finalURL = finalURL.stringByAppendingString("=")
    finalURL = finalURL.stringByAppendingString(parameters[$0] as? String ?? "")
    finalURL = finalURL.stringByAppendingString("&")
}

关于ios - 无法转换类型 [NSObject : AnyObject] to string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36125527/

相关文章:

ios - 如何从 POD 包含的库中删除警告

swift - 在 AR 套件中给自己一个物理 body ?

ios - 将几个列表合并到字典中

swift - 惰性集合导致 "unstable"过滤器和排序崩溃

json - 在浏览器和 Xcode 控制台中获取不同的 JSON 响应

ios - 动态TableView链接到文本

iphone - 如何在加载 View 后在运行时更新 UITableView

ios - 故障动画 CAAnimation

ios - dequeueReusableCellWithIdentifier 索引越界

ios - swift 展开问题