gpt4 book ai didi

ios - NSURLConnection如何获取剩余时间信息

转载 作者:行者123 更新时间:2023-11-28 19:57:49 26 4
gpt4 key购买 nike

我在女巫中有一个表格单元格,我必须获得有关我正在下载的文件的更多信息,我设法获得了我需要的所有信息,但还有时间

这是我想做的一个例子,除了时间计算我都做了

获取文件大小:

fileSize = [NSNumber numberWithLongLong:[response expectedContentLength]]/(1024*1024);

已下载:

[_responseData length]/(1024*1024)

速度:

 double speed = [_responseData length] / ([NSDate timeIntervalSinceReferenceDate] - start);

其中 start 也是一个 [NSDate timeIntervalSinceReferenceDate] 设置在

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 

剩余时间:???

managing item download

问题:如何计算剩余时间??

最佳答案

我想您需要做的是处理 connection:didReceiveData: 委托(delegate)方法。

@property (atomic, strong) NSDate *lastCheckDate;
@property (atomic, strong) NSDate *startDate;
@property (atomic, strong) NSNumber *fileSize;
@property (atomic, strong) NSNumber *sizeLeft;

- (void) connection:(NSURLConnection *) connection didReceiveData:(NSData *) data
{
NSDate *now = [NSDate date];
double dt = [now timeIntervalSinceDate:_lastCheckDate]; // time since last check
self.lastCheckDate = now;
double db = [data length]; // bytes received
double speed = db / dt;
self.sizeLeft = self.sizeLeft - [NSNumber numberWithDouble:db];
double averageSpeed = [(_fileSize - _sizeLeft) doubleValue] / [now timeIntervalSinceDate:_startDate];
// time left, based on current speed
double timeLeftCurrent = [sizeLeft doubleValue] / speed;
// time left, based on average speed
double timeLeftAverage = [sizeLeft doubleValue] / averageSpeed;
}

关于ios - NSURLConnection如何获取剩余时间信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25501439/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com