Skip to content

Instantly share code, notes, and snippets.

View eecsreactive's full-sized avatar

EECS Reactive Course Staff eecsreactive

View GitHub Profile
@eecsreactive
eecsreactive / SwiftUI-Binding.swift
Last active August 27, 2025 22:47
SwiftUI @binding for value
// UM EECS Reactive
import SwiftUI
struct ChildView: View {
@Binding var count: Int
var body: some View {
Button("+1") { count += 1 }
}
}
@eecsreactive
eecsreactive / SwiftUI-State.swift
Last active September 4, 2025 13:46
SwiftUI @State for value type
// UM EECS Reactive
import SwiftUI
struct ChildView: View {
let count: Int // new state if @State
var body: some View {
Text("\(count)")
}
}
@eecsreactive
eecsreactive / Counter-SwiftUI.swift
Last active January 9, 2025 01:44
Counter with SwiftUI
// UM EECS 441
import SwiftUI
struct ContentView: View {
@State var count = 0
var body: some View {
VStack {
Text("\(count)")
Button("+1", action: { count += 1 } )
@eecsreactive
eecsreactive / Counter-Compose.kt
Last active January 9, 2025 01:47
Counter with Compose
// UM EECS 441
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
var count by remember { mutableStateOf(0) }
Column(horizontalAlignment = Alignment.CenterHorizontally,
@eecsreactive
eecsreactive / Counter-AndroidView.kt
Last active January 9, 2025 01:47
Counter with Android View
// UM EECS 441
class MainView(context: Context): ConstraintLayout(context) {
val counter: TextView
val addOne: Button
init {
counter = TextView(context).apply {
textSize = 44.0f
id = generateViewId()
}
@eecsreactive
eecsreactive / Counter-UIKit.swift
Last active January 9, 2025 01:43
Counter with UIKit
// UM EECS 441
import UIKit
final class MainView: UIView {
var counter: UILabel!
private var addOne: UIButton!
required init?(coder: NSCoder) {
fatalError("MainView: does not support unarchiving view from xib/nib files")
}