我正在尝试将我的代码转换为最新的swift版本,但我无法转换以下代码。
// @objc public var urlParameters:[String:String] = [:]
let requestOptions = RequestOptions()
requestOptions.urlParameters["optionalFilters"] = ["category:Book", "author:John Doe"]
我无法找到最佳解决方案。我该怎么办?
答案 0 :(得分:0)
您的字典value
参数为String
,但您尝试设置String
数组。为此,请将签名更改为字符串数组:
var urlParameters: [String: [String]] = [:]
答案 1 :(得分:0)
我假设您的urlParameter类型为
var urlParameters = [String: Any]()
在这里,您会发现urlParameters
是带字符串键的字典类型,值是字符串数组。
第一方面,我们需要将其声明为:
var urlParameters = [String: [String]]()
<强>替代:强>
或者我们可以在AnyObject
上使用[String]
作为Swift 3中的更新:JSON集合(字典/数组)只能包含值类型。
Swift提供了两种特殊类型的别名,用于处理非特定类型:
AnyObject可以表示任何类类型的实例。
任何可以表示任何类型的实例,包括函数类型。
var urlParameters = [String: AnyObject]()