Working with Static Data in SwiftUI

Working with static data allows you to quickly prototype and test realistic data before implementing the full API. In this tutorial, we'll learn how to set the Data Model, set sample data, and loop through the data.

Work with static data in SwiftUI.

What is Static Data? 

Static data is a sample collection of data presented in a structured manner that is manually entered before implementing the full dynamic solution.


Data Model

A data model allows us to quickly reference the values inside an object. It also contains the value types, which gives us the power to manipulate the data accordingly. 

For example, color has very different functions from a string.

struct Course: Identifiable {
    var id = UUID()
    var title: String
    var color: Color


Sample Data

var courses = [
    Course(title: "SwiftUI", color:,
    Course(title: "UI Design", color:


Looping through the data 

Let's first add a view that will contain all the course items. Inside it, we'll loop through the data using the ForEach loop.

struct ContentView: View {
    var body: some View {
        List {
            ForEach(courses) { item in


In SwiftUI, static data is data that doesn't change dynamically during the runtime of the app. This could be data that's hard-coded into the app or data that's loaded from a file or other resource. In contrast, dynamic data changes frequently and can come from a variety of sources, such as a user's input, a server response, or a sensor reading.

Using static data in SwiftUI is fairly straightforward. You can define your data as constants or variables in your code and use them in your views. There are also a variety of ways to organize your static data, such as using arrays or dictionaries, or separating it into separate data models.

Static data is a useful way to prepopulate your app with information, such as default settings or sample data. It can also be used to ensure consistency across your app's views and prevent data duplication.