Joh*_* II 14 swift swift4 xcode9-beta
我试图使用与iOS 11和Swift 4的Lyft API,并在第二行收到错误,这是
重叠访问'urlComponents',但修改需要独占访问; 考虑复制到局部变量.
我不确定这意味着什么,以及如何绕过它.任何帮助表示赞赏,谢谢!
let queryItems = parameters
.sorted { $0.0 < $1.0 }
.flatMap { components(forKey: $0, value: $1) }
var urlComponents = URLComponents(url: mutableURLRequest.url!, resolvingAgainstBaseURL: false)
urlComponents?.queryItems = (urlComponents?.queryItems ?? []) + queryItems //error here
Run Code Online (Sandbox Code Playgroud)
3st*_*nt3 29
我想你需要首先设置一个局部变量,然后更改它,试试这个:
var urlComponents = URLComponents(url: mutableURLRequest.url!, resolvingAgainstBaseURL: false)
var localVariable = urlComponents
urlComponents?.queryItems = (localVariable?.queryItems ?? []) + queryItems
Run Code Online (Sandbox Code Playgroud)
在这种情况下,问题是对可选
控件的重叠访问,因此最简单的解决方案是urlComponents
在对其进行突变之前将其拆开 queryItems
:
if var urlComponents = URLComponents(url: mutableURLRequest.url!, resolvingAgainstBaseURL: false) {
urlComponents.queryItems = (urlComponents.queryItems ?? []) + queryItems
// ...
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11825 次 |
最近记录: |