---
title: "urlSession(_:assetDownloadTask:didLoad:totalTimeRangesLoaded:timeRangeExpectedToLoad:)"
framework: avfoundation
role: symbol
role_heading: Instance Method
path: "avfoundation/avassetdownloaddelegate/urlsession(_:assetdownloadtask:didload:totaltimerangesloaded:timerangeexpectedtoload:)"
---

# urlSession(_:assetDownloadTask:didLoad:totalTimeRangesLoaded:timeRangeExpectedToLoad:)

Tells the delegate that a download task loaded a new time range.

## Declaration

```swift
optional func urlSession(_ session: URLSession, assetDownloadTask: AVAssetDownloadTask, didLoad timeRange: CMTimeRange, totalTimeRangesLoaded loadedTimeRanges: [NSValue], timeRangeExpectedToLoad: CMTimeRange)
```

## Parameters

- `session`: The session the asset download task is on.
- `assetDownloadTask`: The download task that loaded a new time range.
- `timeRange`: A doc://com.apple.documentation/documentation/CoreMedia/CMTimeRange value that indicates the time range the task loaded since the last call to this method.
- `loadedTimeRanges`: An array of doc://com.apple.documentation/documentation/CoreMedia/CMTimeRange values that indicate the time ranges the task has downloaded so far.
- `timeRangeExpectedToLoad`: A doc://com.apple.documentation/documentation/CoreMedia/CMTimeRange value that indicates the expected duration of the downloaded asset.

## Discussion

Discussion Implement this method to track the download status of an asset. The following example shows how to calculate the percentage complete for the current download.

## See Also

### Responding to download events

- [urlSession(_:assetDownloadTask:didResolve:)](avfoundation/avassetdownloaddelegate/urlsession(_:assetdownloadtask:didresolve:).md)
- [urlSession(_:assetDownloadTask:didFinishDownloadingTo:)](avfoundation/avassetdownloaddelegate/urlsession(_:assetdownloadtask:didfinishdownloadingto:).md)
- [urlSession(_:assetDownloadTask:willDownloadVariants:)](avfoundation/avassetdownloaddelegate/urlsession(_:assetdownloadtask:willdownloadvariants:).md)
- [urlSession(_:assetDownloadTask:willDownloadTo:)](avfoundation/avassetdownloaddelegate/urlsession(_:assetdownloadtask:willdownloadto:).md)
- [urlSession(_:assetDownloadTask:didReceive:)](avfoundation/avassetdownloaddelegate/urlsession(_:assetdownloadtask:didreceive:).md)
