【发布时间】:2018-02-17 23:25:35
【问题描述】:
我正在尝试将 Lyft API 与 iOS 11 和 Swift 4 一起使用,并在第二行收到错误,即
对“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
【问题讨论】:
-
我猜你需要先设置一个局部变量然后改变它,试试这个:var urlComponents = URLComponents(url: mutableURLRequest.url!, resolveAgainstBaseURL: false) var localVariable = urlComponents localVariable?。 queryItems = (urlComponents?.queryItems ?? []) + queryItems ,然后像这样分配回去 urlComponents = localVariable
-
直接在编辑之前添加
-
3stud1ant3 效果很好,您想提交作为答案以便我接受吗?
-
当您没有解开可选的实例变量时也会发生这种情况。如果您将 mutableURLRequest 放在 Guard var 语句中,它也应该解决编译器错误。
标签: swift swift4 xcode9-beta