UIKit Field Notes capstone
The UIKit capstone implements the same Field Notes product contract as SwiftUI while respecting UIKit’s object lifecycle and container ownership.
Assemble the adapter
scene coordinator | +-> navigation and split containers | | | +-> list, detail, editor controllers | +-> presentation models | v FieldNotesCore use cases ^ | local storage and service adaptersControllers build views, handle UIKit events, render presentation state, and emit application commands. They do not become the note database or duplicate domain validation.
Complete the local product loop
The release supports empty and populated libraries, create and edit drafts, validation, save failure recovery, search, favorite, delete and Undo, attachments, optional place context, adaptive navigation, keyboard commands, and restoration.
Use UIKit’s strengths
Container controllers own hierarchy. Diffable snapshots own collection identity. Registrations configure reusable cells. Delegates and target-action report events. Auto Layout adapts relationships. System pickers handle system-owned tasks.
Feature parity does not mean type parity with SwiftUI. Both adapters share product behavior and application contracts, not view implementations.
Acceptance evidence
- Domain and use-case tests pass with deterministic local dependencies.
- Controller tests cover state rendering where object-level tests add value.
- UI journeys cover create, recovery, navigation, and restoration.
- Accessibility, large text, keyboard, localization, and right-to-left behavior are audited.
- Launch, scrolling, memory, and attachment performance have named budgets.
- Simulator and physical-device claims remain separate.
Validation boundary
This page defines the assembled UIKit release but does not claim an executed Apple app. Compilation, Simulator journeys, accessibility, restoration, signing, and device behavior remain Not verified.
Series navigation
- Previous: Part 57: UIKit traits, accessibility, localization, and restoration
- Next: Part 59: iOS architecture starts with pressure
- Series index: Zero to iOS Hero
References
- UIKit is the interface framework boundary.
- View controllers covers content and container ownership.
- Modern collection views covers current collection architecture.