NSURLDownload
NSURLDownload класс загружает запрос асинхронно и сохраняет данные к файлу. Интерфейс для NSURLDownload обеспечивает методы, чтобы инициализировать загрузку, установить целевой путь и отмену, загружающую запрос.
Объект делегата, присвоенный каждому экземпляру этого класса, должен реализовать методы, определенные NSURLDownloadDelegate протокол. Эти методы предоставляют делегату текущий статус происходящих асинхронных загрузок и позволяют делегату настраивать процесс загрузки URL. Эти методы делегата вызывают на потоке, запустившем асинхронную работу загрузки для связанного NSURLDownload объект.
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
-
Возвращает инициализированную загрузку URL для URL-запроса и начинает загружать данные для запроса.
Объявление
Swift
init(requestrequest: NSURLRequest, delegatedelegate: NSURLDownloadDelegate?)Objective C
- (instancetype)initWithRequest:(NSURLRequest *)requestdelegate:(id<NSURLDownloadDelegate>)delegateПараметры
requestURL-запрос для загрузки.
requestобъект глубоко скопирован как часть процесса инициализации. Изменения, внесенные вrequestпосле этого метода возвраты не влияют на запрос, использующийся для процесса загрузки.delegateДелегат к загрузке. Этот объект получит сообщения делегата, в то время как развивается загрузка. Сообщения делегата будут отправлены на потоке, вызывающем этот метод. Для загрузки для работы правильно цикл выполнения вызывающего потока должен работать в выполненном режиме цикла по умолчанию.
NSURLDownloadкласс поддерживает сильную ссылку к этому объекту делегата.Возвращаемое значение
Инициализированный NSURLDownload возражает для
request.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
-
Устанавливает целевой путь загруженного файла.
Объявление
Swift
func setDestination(_path: String, allowOverwriteallowOverwrite: Bool)Objective C
- (void)setDestination:(NSString *)pathallowOverwrite:(BOOL)allowOverwriteПараметры
pathПуть для загруженного файла.
allowOverwriteYEStrueесли существующий файл вpathможет быть заменен,NOfalseиначе.Обсуждение
Если
allowOverwriteNOfalseи файл уже существует вpath, уникальное имя файла будет создаваться для загруженного файла путем добавления числа к имени файла. Делегат может реализоватьdownload:didCreateDestination:когда файл записан в диск, метод делегата определить имя файла использовал.Специальные замечания
NSURLDownloadэкземпляр игнорирует множественные вызовы этого метода.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
-
Возвраты, может ли объект загрузки URL возобновить загрузку, декодировавшуюся с указанным типом MIME.
Объявление
Swift
class func canResumeDownloadDecodedWithEncodingMIMEType(_MIMEType: String) -> BoolObjective C
+ (BOOL)canResumeDownloadDecodedWithEncodingMIMEType:(NSString *)MIMETypeПараметры
MIMETypeТип MIME вызывающая сторона хочет знать о.
Возвращаемое значение
YEStrueесли объект загрузки URL может возобновить загрузку, декодировавшуюся с указанным типом MIME,NOfalseиначе.Обсуждение
Тип MIME файла, в сочетании со значением, возвращенным
download:shouldDecodeSourceDataOfMIMEType:метод делегата, определяет лиNSURLDownloadкласс должен декодировать или распаковать входящие данные, поскольку это получено.Некоторые методы сжатия, такой как
DEFLATEалгоритм (gzip) используйте словари символа, варьирующиеся во время процесса сжатия, делая его непрактичным для распаковки только части данных, запускающихся в середине. Поэтому этот метод возвратыNOfalseесли не отвечают обоим из следующих условий:Тип MIME имеет тип что
NSURLDownloadкласс знает, как распаковать или декодировать.Декодирование может быть безопасно возобновлено.
На практике, этот метод возвраты
YEStrueдля Макбинэри и BinHex, иначеNOfalse.Если Ваше приложение должно быть в состоянии возобновить загрузки файла в
gzipформат, Вашdownload:shouldDecodeSourceDataOfMIMEType:метод должен возвратитьсяNOfalse, и необходимо декодировать получающийся файл сами после того, как Вы закончите загружать его полностью.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
-
Возвращает инициализированный объект NSURLDownload, который продолжит загружать указанные данные на указанный файл и начинает загрузку.
Объявление
Swift
init(resumeDataresumeData: NSData, delegatedelegate: NSURLDownloadDelegate?, pathpath: String)Параметры
resumeDataУказывает данные, чтобы продолжить загружать.
delegateДелегат к загрузке. Этот объект получит сообщения делегата, в то время как развивается загрузка. Сообщения делегата будут отправлены на потоке, вызывающем этот метод. Для загрузки для работы правильно цикл выполнения вызывающего потока должен работать в выполненном режиме цикла по умолчанию.
NSURLDownloadкласс поддерживает сильную ссылку к этому объекту делегата.pathРасположение для загруженных данных.
Возвращаемое значение
Инициализированный объект NSURLDownload.
Обсуждение
Если Вы хотите поддерживать приостановку и возобновление загрузок, Ваше приложение должно:
Вызвать
setDeletesFileUponFailure:, передачаNOfalse. Если Вы хотите поддерживать возобновляющиеся загрузки в случае потерянного соединения, необходимо сразу сделать это после инициализации объекта загрузки.Если Ваше приложение должно приостановить передачу по какой-либо причине, вызвать
cancel. Поскольку ранее вызывают Ваше приложениеsetDeletesFileUponFailure:сNOfalse, происходящая загрузка не удалена.После того, как Ваше приложение приостанавливает передачу или после того, как ошибка передачи происходит, вызвать
resumeDataполучить данные должно было возобновить передачу позже.Если передача, отказавшая из-за ошибки связи, используйте
SCNetworkReachabilityAPI для определения подходящего времени, чтобы попробовать еще раз. Для получения дополнительной информации считайте Ссылку SCNetworkReachability.Если Ваше приложение явно приостановило загрузку, ожидайте, пока не является надлежащим продолжать передачу (такой как тогда, когда пользователь щелкает или касается кнопки возобновления).
Вызвать
initWithResumeData:delegate:path:и передайте блоб данных резюме, который это ранее получило на шаге 3.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Возвращает данные резюме для загрузки, которая еще не завершена.
Объявление
Swift
@NSCopying var resumeData: NSData? { get }Objective C
@property(readonly, copy) NSData *resumeDataВозвращаемое значение
Данные резюме для загрузки, которая еще не завершена. Эти данные представляют необходимую информацию состояния что
NSURLDownloadвозразите должен возобновить загрузку. Данные резюме могут позже использоваться при инициализации загрузки сinitWithResumeData:delegate:path:. Возвратыnilесли загрузка не в состоянии быть возобновленной.Обсуждение
Данные резюме возвращаются только если и протокол и возобновление поддержки сервера. Для получения дополнительной информации о том, как возобновить соединение, см. документацию для
initWithResumeData:delegate:path:.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
-
Указывает, удаляет ли получатель частично загруженный файл, когда загрузка останавливается преждевременно.
Объявление
Swift
var deletesFileUponFailure: BoolObjective C
@property BOOL deletesFileUponFailureПараметры
deletesFileUponFailureYEStrueкогда загрузка останавливается преждевременно, если должны быть удалены частично загруженные файлыNOfalseиначе. Значение по умолчаниюYEStrue.Обсуждение
Чтобы позволить загрузке быть возобновленной в случае, если загрузка заканчивается преждевременно, необходимо вызвать этот метод как можно скорее после запуска загрузки.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
См. также
-
Отменяет загрузку получателя и удаляет загруженный файл.
Объявление
Swift
func cancel()Objective C
- (void)cancelОбсуждение
Этот метод удаляет частично загруженный файл, если Вы ранее не вызвали
setDeletesFileUponFailure:, передачаNOfalse.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
-
Возвращает запрос, инициировавший загрузку получателя.
Объявление
Swift
@NSCopying var request: NSURLRequest { get }Objective C
@property(readonly, copy) NSURLRequest *requestВозвращаемое значение
URL-запрос, инициировавший загрузку получателя.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
-
Возвраты, удаляет ли получатель частично загруженные файлы, когда загрузка останавливается преждевременно.
Объявление
Swift
var deletesFileUponFailure: BoolObjective C
@property BOOL deletesFileUponFailureВозвращаемое значение
YEStrueкогда загрузка останавливается преждевременно, если должны быть удалены частично загруженные файлыNOfalseиначе. Значение по умолчаниюYEStrue.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
См. также
