Na gut. Dies wird hoffentlich mein letzter Beitrag über den Download-Manager sein, den ich in Objective-C schreibe. Alles scheint gut zu funktionieren, außer der Pause/Fortsetzen-Funktion. Mein Problem ist, dass, wenn ein Download versucht, von wo es aufgehört hat, fortzusetzen, es die Daten, die es erhält, an die Datei anhängt, aber es scheint immer noch, dass es versucht, die gesamte Datei herunterzuladen. Das Ergebnis ist eine Datei, die größer ist, als die ursprüngliche Datei sein sollte. Hier ist der Code, den ich für das Herunterladen von Dateien verwende. Mache ich etwas falsch?
-(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.
}
}