Skip to content

Instantly share code, notes, and snippets.

@byJeevan
Last active August 16, 2025 09:35
Show Gist options
  • Select an option

  • Save byJeevan/f67485bf380e86d4f87a723ac383827c to your computer and use it in GitHub Desktop.

Select an option

Save byJeevan/f67485bf380e86d4f87a723ac383827c to your computer and use it in GitHub Desktop.
SwiftUI Components & Extension that saves iOSDev time.
### UIKit is **EVENT-Driven** framework - We could reference each view in the hierarchy, update its appearance when the view is loaded or as a reaction on an event.
### SwiftUI is **Declarative, State Driven** framework - We cannot reference any view in the hierarchy, neither can we directly mutate a view as a reaction to an event.
Instead, we mutate the state bound to the view. Delegates, target-actions, responder chain, KVO .. replaced with Closures & bindings.
@byJeevan
Copy link
Author

byJeevan commented Aug 16, 2025

Create Alert (system alert)

struct ContentView: View {
    @State private var showAlert = false // 1
    
    var body: some View {
        VStack {
            Button("Show Alert") {
                showAlert = true // 2
            }
        }
// 3.
        .alert("Important Message", isPresented: $showAlert) {
            Button("OK", role: .cancel) { }
            Button("Delete", role: .destructive) {
                // handle delete action
            }
        } message: {
            Text("This is an alert in SwiftUI.")
        }
    }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment