Swift:从相对于基本 url 的字符串生成 url

zzh*_*ads 3 url relative-path swift

具有简单的端点枚举,例如:

enum TraccarEndpoint: Endpoint {

    case server

    var baseURL: URL {
        return URL(string: "http://demo.traccar.org/api")!
    }

    var path: String {
        switch self {
        case .server:
            return "/server"
        }
    }

    var url: URL {
        let path = self.path
        let baseURL = self.baseURL
        let url = URL(string: path, relativeTo: baseURL)
        return url!
    }
}
Run Code Online (Sandbox Code Playgroud)

期待 self.url = " http://demo.traccar.org/server ",但 self.url = "/server -- ttp://www.traccar.org/api"。那是什么?

小智 5

这是描述 URL 的方式。你的网址是正确的别担心。打印url.absoluteString以说服自己

您可以获得绝对网址 url.absoluteURL