Ich muss Datei vom Server auf entsprechende Schaltfläche klicken in UITableViewCell herunterladen.Wenn Benutzer auf Schaltfläche zum Download in einer Zelle tippen Download sollte gestartet werden.Nach dem Abschluss des Downloads Ich spare in Kerndaten. Bis zu diesem Ganzen ging gut.Aber beim Herunterladen der aktuellen Datei, wenn der Benutzer tippt, um eine andere Datei in Cell herunterzuladen, sollte es auch herunterladen dann zu Kerndaten speichern und zur Verfügung stellen, um zu spielen.Und ich habe verschiedene URLs in jeder Tabelle Zelle.Wenn der Benutzer mehrere klopft Schaltflächen sollten sie herunterladen und in den Kerndaten speichern. Hier mein Code.Download Datei vom Server eins nach dem anderen
NSString *url=[[chatHistoryArr objectAtIndex:sender.tag]valueForKey:@"voice"];
NSLog(@"%@",url);
//NSURL *voiceUrl=[NSURL URLWithString:url];
tempDict=[[NSMutableDictionary alloc]init];
[tempDict setValue:[[chatHistoryArr objectAtIndex:sender.tag]valueForKey:@"msg_id"] forKey:@"msg_id"];
[tempDict setValue:[[chatHistoryArr objectAtIndex:sender.tag]valueForKey:@"to"] forKey:@"to"];
[tempDict setValue:[[chatHistoryArr objectAtIndex:sender.tag]valueForKey:@"from"] forKey:@"from"];
[tempDict setValue:[[chatHistoryArr objectAtIndex:sender.tag]valueForKey:@"time"] forKey:@"time"];
UIImageView* animatedImageView = [[UIImageView alloc] initWithFrame:cell.playButton.bounds];
animatedImageView.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"1.png"],
[UIImage imageNamed:@"2.png"],
[UIImage imageNamed:@"3.png"],
[UIImage imageNamed:@"4.png"], nil];
animatedImageView.animationDuration = 3.0f;
animatedImageView.animationRepeatCount = 10;
[animatedImageView startAnimating];
[cell1.playButton addSubview: animatedImageView];
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];
[manager setResponseSerializer:[AFHTTPResponseSerializer serializer]];
// manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/octet-stream",@"video/3gpp",@"audio/mp4",nil];
NSURL *URL = [NSURL URLWithString:url];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
NSURLSessionDataTask *dataTask = [manager dataTaskWithRequest:request completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
if (error)
{
NSLog(@"Error: %@", error);
} else
{
NSData *data=[[NSData alloc]initWithData:responseObject];
//Here I'm saving file to local storage then updating UI.
[self sentMsgSaveWithData:data orUrl:@"" withBool:YES withMsg_ID:@"" withDict:tempDict];
}
}];
[dataTask resume];
Hier konnte ich nur eine Datei zu einem Zeitpunkt und nach Abschluss der, dass zum Download, wenn der Benutzer dann ich it.But bin das Herunterladen nur eine andere Zelle tippt ich mehrere Dateien auf mehreren Tasten Taps in Cell herunterladen muß. Ich habe viel Mühe, dies zu implementieren. Bitte geben Sie einige Vorschläge.
Vielen Dank im Voraus.
Mögliche Duplikat von [Wie Dateien herunterzuladen und zu den lokalen Speichern mit AFNetworking 3.0 ?] (http://stackoverflow.com/questions/35137749/how-to-download-files-and-save-to-local-usin g-afnetworking-3-0) –
Sie werden URL zu einer Methode übergeben, sagen wir Openurl (NSUrl *) mypicUrl: (Int) Zelle. So wissen Sie am Ende des Downloads, welche Zelle neu geladen werden muss. – user3344236