<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 15.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 8.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/TimelineSchedule",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI16TimelineScheduleP"
  },
  "title" : "TimelineSchedule"
}
-->

# TimelineSchedule

A type that provides a sequence of dates for use as a schedule.

```
protocol TimelineSchedule
```

## Overview

Types that conform to this protocol implement a particular kind of schedule
by defining an [`entries(from:mode:)`](/documentation/SwiftUI/TimelineSchedule/entries(from:mode:)) method that returns
a sequence of dates. Use a timeline schedule type when you initialize
a [`TimelineView`](/documentation/SwiftUI/TimelineView). For example, you can create a timeline view that
updates every second, starting from some `startDate`, using a
periodic schedule returned by [`periodic(from:by:)`](/documentation/SwiftUI/TimelineSchedule/periodic(from:by:)):

```
TimelineView(.periodic(from: startDate, by: 1.0)) { context in
    // View content goes here.
}
```

You can also create custom timeline schedules.
The timeline view updates its content according to the
sequence of dates produced by the schedule.

## Topics

### Getting built-in schedules

[`animation`](/documentation/SwiftUI/TimelineSchedule/animation)

A pausable schedule of dates updating at a frequency no more quickly
than the provided interval.

[`animation(minimumInterval:paused:)`](/documentation/SwiftUI/TimelineSchedule/animation(minimumInterval:paused:))

A pausable schedule of dates updating at a frequency no more quickly
than the provided interval.

[`everyMinute`](/documentation/SwiftUI/TimelineSchedule/everyMinute)

A schedule for updating a timeline view at the start of every minute.

[`explicit(_:)`](/documentation/SwiftUI/TimelineSchedule/explicit(_:))

A schedule for updating a timeline view at explicit points in time.

[`periodic(from:by:)`](/documentation/SwiftUI/TimelineSchedule/periodic(from:by:))

A schedule for updating a timeline view at regular intervals.

### Getting a sequence of dates

[`entries(from:mode:)`](/documentation/SwiftUI/TimelineSchedule/entries(from:mode:))

Provides a sequence of dates starting around a given date.

[`Entries`](/documentation/SwiftUI/TimelineSchedule/Entries)

The sequence of dates within a schedule.

### Specifying a mode

[`TimelineSchedule.Mode`](/documentation/SwiftUI/TimelineSchedule/Mode)

An alias for the timeline schedule update mode.

[`TimelineScheduleMode`](/documentation/SwiftUI/TimelineScheduleMode)

A mode of operation for timeline schedule updates.

### Supporting types

[`AnimationTimelineSchedule`](/documentation/SwiftUI/AnimationTimelineSchedule)

A pausable schedule of dates updating at a frequency no more quickly than
the provided interval.

[`EveryMinuteTimelineSchedule`](/documentation/SwiftUI/EveryMinuteTimelineSchedule)

A schedule for updating a timeline view at the start of every minute.

[`ExplicitTimelineSchedule`](/documentation/SwiftUI/ExplicitTimelineSchedule)

A schedule for updating a timeline view at explicit points in time.

[`PeriodicTimelineSchedule`](/documentation/SwiftUI/PeriodicTimelineSchedule)

A schedule for updating a timeline view at regular intervals.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)