[英]Cannot convert the type [NSObject : AnyObject] to string
I have this code in Swift using Xcode 7.2 ..我使用 Xcode 7.2 在 Swift 中有此代码..
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("&")
}
}
I get an error(mentioned as the title) in the line "for key : String in parameters {" .我在“for key : String in parameters {”行中收到一个错误(作为标题提到)。 Based on the previous answer '(NSObject, AnyObject)' is not convertible to 'String' , i tried casting it to NSString , but it didn't work.So Anyone knows how to convert [NSObject:AnyObject] to string ?基于之前的答案'(NSObject, AnyObject)' 不能转换为 'String' ,我尝试将它转换为 NSString ,但它没有用。所以有人知道如何将 [NSObject:AnyObject] 转换为字符串吗? Thank You in advance.先感谢您。
Like the comments said, it's a dictionary and you could get the strings by doing this:就像评论说的那样,它是一本字典,您可以通过执行以下操作来获取字符串:
parameters.keys.flatMap { $0 as? String }.forEach {
finalURL = finalURL.stringByAppendingString($0)
finalURL = finalURL.stringByAppendingString("=")
finalURL = finalURL.stringByAppendingString(parameters[$0] as? String ?? "")
finalURL = finalURL.stringByAppendingString("&")
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.