SwiftUIMidMCQ

What is `@AppStorage` and when would you use it?

Test your knowledge:

Explanation & Code

Answer: @AppStorage is a property wrapper that reads and writes to UserDefaults and automatically refreshes the view when the value changes. Use it for lightweight user preferences.

Code Example:

struct SettingsView: View {
    @AppStorage("isDarkMode") private var isDarkMode = false
    @AppStorage("fontSize") private var fontSize = 16.0
    @AppStorage("username") private var username = ""

    var body: some View {
        Form {
            Toggle("Dark Mode", isOn: $isDarkMode)
            Slider(value: $fontSize, in: 12...24)
            TextField("Username", text: $username)
        }
    }
}

When to use vs not:

  • ✅ Simple user preferences (theme, font size, onboarding seen)
  • ❌ Large data, sensitive data, or complex objects — use Core Data, Keychain, or a file instead

Rate your understanding:

Ready to practice more SwiftUI?

Test yourself with our interactive quiz mode or browse all curated questions for this topic.