I spent the whole evening going through tutorials and working on my side project, Ngöndro Tracker, leaving little time to post updates to the blog.
Among others, I implemented a text field component with label, a helper to initialize colors from CSS hex strings, and began work on the view to edit practice settings.
Today I implemented persisting practice history each time the user adds some repetitions of a practice.
I also implemented a simple view for presenting those records.
I found out how to implement custom keys for `Decodable` data structures.
I spent another evening treading through SQLite's low-level C APIs.
I integrated a very naïvely written data store built with these APIs into a simple iOS GUI app.
Finally, I found out how to detect dark mode on macOS using Swift APIs.
Describing observable objects, which act like event-driven data sources, and `@EnvironmentObject`s,
which expose a given object to the entire view tree.
In today's post I introduce the basic techniques used to translate strings within SwiftUI applications.
I also present a simple component with an image placed in a circle.
Tips and tricks for synchronizing Xcode's keyboard shortcuts between devices, autoformatting Swift files in Neovim, and IntelliSense.
Brief description of a prototype scene built along chapter 3 of <em>SwiftUI Apprentice</em>.
Looking at some of Swift's abstract types, such as enums,
I noticed how similar they are to Rust.
In this post, I also describe common operations on date and time values.