Как остановить загрузку файла в Skydrive API

После начала загрузки файла, как остановить загрузку файла? Я инициирую загрузку следующим образом:

[docDirSkyDRive  appendString:[NSString stringWithFormat:@"/%@ ",[[FilesFromSkyDrive objectAtIndex:indexPath] objectForKey:@"name"]]];
NSMutableString *downloadPath=[[NSMutableString alloc]init];
[downloadPath appendFormat:@"%@/content",[[FilesFromSkyDrive objectAtIndex:indexPath] objectForKey:@"id"]];
[self.liveClient downloadFromPath:downloadPath delegate:self userState:@"download"];

Это мой фрагмент кода для загрузки файлов, но я не знаю, как остановить загрузку файлов после запуска.


person Arun Karthick    schedule 14.02.2013    source источник
comment
В .NET я бы выполнил асинхронную загрузку и остановил асинхронный поток по запросу. Я бы предположил, что что-то подобное доступно и на iOS.   -  person Uwe Keim    schedule 14.02.2013
comment
Кстати, в документации MSDN есть делегат, который призывал к прогрессу. Может быть, вы можете отменить из этого делегата?   -  person Uwe Keim    schedule 14.02.2013
comment
Они не предоставили никакого метода отмены в делегате. @UweKeim   -  person Arun Karthick    schedule 14.02.2013
comment
Да, я видел это :-) Будет ли это плохой практикой, по крайней мере, возможно ли создать исключение, чтобы выйти из загрузки и вместо этого перехватить его где-нибудь в стеке вызовов?   -  person Uwe Keim    schedule 14.02.2013


Ответы (1)


Попробуйте сделать это

[docDirSkyDRive  appendString:[NSString stringWithFormat:@"/%@ ",[[FilesFromSkyDrive    objectAtIndex:indexPath] objectForKey:@"name"]]];
NSMutableString *downloadPath=[[NSMutableString alloc]init];
[downloadPath appendFormat:@"%@/content",[[FilesFromSkyDrive objectAtIndex:indexPath] objectForKey:@"id"]];
LiveOperation *opperation = [self.liveClient downloadFromPath:downloadPath delegate:self userState:@"download"];

то вы можете отменить эту операцию, используя [opperation cancel];

person Community    schedule 12.03.2014