可以使用 Alamofire.SessionManager 类来创建 Session 实例的层次结构。下面是一个示例代码:
import Alamofire
let parentSessionManager = SessionManager.default
let childSessionManager = SessionManager(
configuration: parentSessionManager.session.configuration,
delegate: parentSessionManager.delegate,
serverTrustPolicyManager: parentSessionManager.serverTrustPolicyManager
)
let parentRequest = parentSessionManager.request("https://api.example.com/parent")
let childRequest = childSessionManager.request("https://api.example.com/child")
parentRequest.responseString { response in
print("Parent session response: \(response.value)")
}
childRequest.responseString { response in
print("Child session response: \(response.value)")
}
在这个示例中,我们首先创建了一个默认的 SessionManager 实例,然后使用它来创建一个子 SessionManager 实例。子 SessionManager 继承了其父实例的配置和代理设置,但可以自定义服务信任策略管理器。我们还创建了一个从父 SessionManager 实例和另一个从子 SessionManager 实例发送的请求,并通过响应区分它们。
值得注意的是,如果你没有特殊的要求,使用默认的 SessionManager 实例就足够了。子 SessionManager 实例是一种高级用法,只有在需要更多控制和配置时才需要使用。