Приостановить / возобновить загрузку в Objective-C

Хорошо. Надеюсь, это будет мой последний пост о диспетчере загрузок, который я пишу на Objective-C. Кажется, все работает хорошо, кроме функции паузы / возобновления. Моя проблема в том, что когда загрузка пытается продолжить с того места, где она была остановлена, она добавляет полученные данные в файл, но все равно кажется, что она пытается загрузить весь файл. В результате получается файл, размер которого превышает предполагаемый размер исходного файла. Вот код, который я использую для загрузки файлов. Я что-то делаю не так?

-(void)start:(unsigned int)fromByte {
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:self.url] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:DEFAULT_TIMEOUT];

    // Define the bytes we wish to download.
    NSString *range = [NSString stringWithFormat:@"bytes=%i-", fromByte];
    [request setValue:range forHTTPHeaderField:@"Range"];

    // Data should immediately start downloading after the connection is created.
    self.urlConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:TRUE];

    if (!self.urlConnection) {
        #warning Handle error.
    }
}
13
задан FreeAsInBeer 2 March 2011 в 16:59
поделиться