как удалить / освободить добавленную NSInvocationOperation из NSOperationQueue после завершения загрузки видео?
Операция автоматически удаляется из очереди после ее завершения, т.е. когда - isFinished возвращает true.
А также, что мне делать, если в случае, если я хочу прекратить загрузку определенного видео во время процесса загрузки?
Если вы хотите остановить операцию на полпути, вы должны отправить ей сообщение -cancel . Однако это волшебным образом не остановит выполнение операции.Ваша задача должна периодически проверять, отменена ли она, и завершать себя, если выясняется, что она была выполнена.Таким образом, вам нужно загружать ваше видео порциями и проверять отмененный статус операции после каждой порции.Следующий псевдокод может помочь:
while (![myOperation isCancelled] && thereIsMoreData)
{
download a chunk of data and save it
}
Это означает, например, что вы не можете использовать NSURLConnection
'-sendSynchronousRequest:returningResponse:error:
для получения данных, потому что он не сможет проверить отмененный статусоперации, пока все данные не будут загружены.