---
title: isCancellable
framework: foundation
role: symbol
role_heading: Instance Property
path: foundation/progress/iscancellable
---

# isCancellable

A Boolean value that indicates whether the receiver is tracking work that you can cancel.

## Declaration

```swift
var isCancellable: Bool { get set }
```

## Discussion

Discussion By default, Progress objects are cancelable. You typically use this property to communicate whether controls for canceling appear in a progress-reporting user interface. Progress itself doesn’t do anything with this property other than help pass the value from progress reporters to progress observers. If an Progress is cancelable, implement the ability to cancel progress either by setting a block for the cancellationHandler property, or by polling the isCancelled property periodically while performing the relevant work. It’s valid for the value of this property to change during the lifetime of an Progress object. By default, Progress is KVO-compliant for this property. It sends notifications on the same thread that updates the property.

## See Also

### Related Documentation

- [cancel()](foundation/progress/cancel().md)

### Reporting Progress

- [totalUnitCount](foundation/progress/totalunitcount.md)
- [completedUnitCount](foundation/progress/completedunitcount.md)
- [localizedDescription](foundation/progress/localizeddescription.md)
- [localizedAdditionalDescription](foundation/progress/localizedadditionaldescription.md)
- [isCancelled](foundation/progress/iscancelled.md)
- [cancellationHandler](foundation/progress/cancellationhandler.md)
- [isPausable](foundation/progress/ispausable.md)
- [isPaused](foundation/progress/ispaused.md)
- [pausingHandler](foundation/progress/pausinghandler.md)
