我正在学习有关使用 REST API 从第三方服务器取回 JSON 的教程。我们正在构建一个 networkProcessor 类,我们将能够通过在 ViewControllers 中创建此类的实例来使用它,以便为网络调用创建 url session 。我注意到作者将 session 占位符声明为变量而不是常量,这与我在使用 Xcode 时始终考虑首先使用常量的知识背道而驰。作者可能选择将其设为变量而不是常数,是否有特定原因?
这是我目前所拥有的:
import Foundation
class NetworkProcessor {
lazy var configuration: URLSessionConfiguration = URLSessionConfiguration.default
lazy var session: URLSession = URLSession.init(configuration: self.configuration)
let url: URL
//since it is a class we need to initalize this class
init(url: URL) {
self.url = url
}
}
最佳答案
当你使用关键字 lazy 时,你不能同时使用它和 let 关键字。惰性属性必须是变量而不是常量。
关于swift - 为什么我们的 URLSession 对象是变量而不是常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51070244/