我正在处理 URLSession 的网络调整并获取每个请求的详细信息。但是,当我尝试以毫秒为单位计算请求日期的值时,有时计算会显示更高的值。在 swizzling 中,startLoading我们正在获取当前日期,在里面stopLoading我们正在计算毫秒。下面是我的逻辑
let startDate: Date?
override public func startLoading() {
startDate = Date()
}
override public func stopLoading() {
print(fabs(startDate.timeIntervalSinceNow) * 1000)
}
Run Code Online (Sandbox Code Playgroud)
小智 5
在您的 stopLoading 函数中,您应该调用:
print(Date().timeIntervalSince(startDate) * 1000)
通过这种方式,您将看到自 startDate 以来已经过去了多少时间(以毫秒为单位)。