Skip to content

Instantly share code, notes, and snippets.

View eecsreactive's full-sized avatar

EECS Reactive Course Staff eecsreactive

View GitHub Profile
// UM EECS 441
import SwiftUI
struct Froggy: ViewModifier {
func body(content: Content) -> some View {
content
.font(.custom("Times New Roman", size: 32))
.foregroundColor(.green)
.bold()
@eecsreactive
eecsreactive / SwiftUI-ViewBuilder.swift
Last active March 20, 2025 12:51
ViweBuilder as result builder
// UM EECS 441
import SwiftUI
func Haiku() -> String {
"Furu ike ya kawazu tobikomu mizu no oto"
/*
"Furu ike ya"
"kawazu tobikomu"
"mizu no oto"
@eecsreactive
eecsreactive / SwiftUI-SideEffect.swift
Last active October 30, 2024 23:46
SwiftUI side effect with and without onAppear
// UM EECS 441
import SwiftUI
struct ContentView: View {
@State var count = 0
var body: some View {
let _ = print("hello")
@eecsreactive
eecsreactive / SwiftUI-PlayerView with Binding.swift
Last active March 19, 2025 14:24
Button re-renders but not the two Text's
// UM EECS 441
import SwiftUI
struct Music {
var title = "Ninth Symphony"
var composer = "Beethoven"
var playlist = "Classical"
}
@eecsreactive
eecsreactive / SwiftUI-SimpleState.swift
Last active April 22, 2024 14:58
SwiftUI @State emulation with SwiftUI memory
// UM EECS 441
import SwiftUI
@propertyWrapper
struct SimpleState<T>: DynamicProperty {
private var _state: State<T> // references SwiftUI memory outside of struct
var wrappedValue: T {
get { _state.wrappedValue } // accesses reference to SwiftUI memory
nonmutating set { _state.wrappedValue = newValue } // no change to reference
@eecsreactive
eecsreactive / SwiftUI-HeapState.swift
Last active April 22, 2024 14:30
SwiftUI @State emulation using heap memory
// UM EECS 441
import SwiftUI
import Observation
@Observable // for subscription
final class HeapStore<T> {
var value: T
init(initValue: T) {
value = initValue
// UM EECS Reactive
import SwiftUI
@main
struct StateValueApp: App {
var body: some Scene {
WindowGroup {
ContentView()
// #1: comment out for optional
// UM EECS 441
import SwiftUI
import Observation
@Observable
final class RefCounter {
var count = 0
var name = "counter"
}
// UM EECS 441
import SwiftUI
import Observation
@Observable
final class RefCounter {
var count = 0
var name = "counter"
}
@eecsreactive
eecsreactive / SwiftUI-ObservationIgnored.swift
Last active March 13, 2025 11:19
SwiftUI @ObservationIgnored
// UM EECS 441
import SwiftUI
import Observation
@Observable
final class RefCounter {
var count = 0
//@ObservationIgnored
var name = "even"