先问“接下来会发生什么”
GuidedStep 把操作、观察位置、预测问题、预期日志和胜利条件放在同一张训练卡里。
UIKit · Guided Learning · Observable Runtime
这不是提醒事项业务 App,而是一台 UIKit 显微镜:学习者先预测,再操作真实界面,通过结构化日志与 Call Stack 分清生命周期、delegate、target-action 和 closure。
A code-first UIKit learning lab that makes framework-driven behavior observable through guided experiments, structured logs, call stacks, and UI tests.
一次编辑与 Save,穿过四种调用机制。
didSelectItemAt列表把选择回调给业务控制器viewDidLoadUIKit 请求编辑页完成首次加载saveReminderSave 按钮触发注册的 actiononSave → snapshot业务 closure 回传并刷新列表Problem / 问题
只读方法名,很容易把框架生命周期、delegate 回调、按钮 action 和业务 closure 混在一起。这个系统把一次学习拆成 Predict → Run → Observe → Verify → Recap,并把证据留在 App 内 Logs、Xcode Console、Call Stack 和 UI Test 中。
The design problem is observability: learners need to distinguish framework callbacks from application-controlled data flow using evidence they can reproduce.
GuidedStep 把操作、观察位置、预测问题、预期日志和胜利条件放在同一张训练卡里。
DemoLogStore 保存结构化事件并继续输出 Console;Log Panel 支持分类、搜索、关键事件与暂停滚动。
断点回答“谁触发”,UI Test 验证编辑回传与 Guide / Logs 入口,避免把文档里的预期当成运行事实。
ONE FLOW · FOUR MECHANISMS
展示页只陈述能够从当前仓库或本地构建直接复核的事实。
本地 iPhone 17 Pro Simulator:testEditFirstReminderTitle 9.456s;testOpenLogsAndGuide 27.483s。来源是当前 XCTest 文件与本次本地运行,不代表完整回归覆盖。
网页负责解释系统,运行证据仍来自 UIKit App。仓库默认使用 iPhone 17 Pro Simulator,也可通过 Make 参数切换设备。
git clone https://github.com/estelledc/UIKitLifecycleDemo.git
cd UIKitLifecycleDemo
make build
make run
make test-ui
这是一套学习实验室,不是生产级提醒事项 App。它不包含网络、持久化、EventKit 或真实业务状态;Guide 描述预期观察,不会伪造日志;两条 UI Test 只覆盖核心编辑流程和 Guide / Logs 入口,尚未覆盖所有高级实验。项目也不声称仅凭阅读或运行 Demo 就能掌握 UIKit。