---
title: PHImageRequestOptionsDeliveryMode.opportunistic
framework: photos
role: symbol
role_heading: Case
path: photos/phimagerequestoptionsdeliverymode/opportunistic
---

# PHImageRequestOptionsDeliveryMode.opportunistic

Photos automatically provides one or more results in order to balance image quality and responsiveness.

## Declaration

```swift
case opportunistic
```

## Discussion

Discussion If the isSynchronous property is false, Photos may call the resultHandler block (that you specified in the requestImage(for:targetSize:contentMode:options:resultHandler:) method more than once. Photos may call your result handler once to provide a low-quality image suitable for displaying temporarily while it prepares a high-quality image. If low-quality image data is immediately available, this first call may occur before the requestImage(for:targetSize:contentMode:options:resultHandler:) method returns. When the high-quality image is ready, Photos calls your result handler again to provide it. If the image manager has already cached the requested image, or if the isSynchronous property is true, Photos calls your result handler only once.

## See Also

### Constants

- [PHImageRequestOptionsDeliveryMode.highQualityFormat](photos/phimagerequestoptionsdeliverymode/highqualityformat.md)
- [PHImageRequestOptionsDeliveryMode.fastFormat](photos/phimagerequestoptionsdeliverymode/fastformat.md)
