SwiftUI Weekly - Issue #46
The curated collection of links about SwiftUI. Delivered every Monday.
One of the things I was most surprised with when starting my iOS career was the lack of a backed-in, system-wide keyboard avoidance: every app needs to show a keyboard at some point, and every app has to either re-invent the wheel or pick one of the de-facto standard open source solutions out there.
How do you use the @ObservedObject property wrapper in SwiftUI? In this tutorial, we'll discuss ObservableObject, @Published – and more.
Slicing an app into modules is the best organizational step you can make. It's a step you should take before you choose to make any other deliberate architectural choice.
When you get into seeing the code for the view, how it’s formed, and what the models look like, you see a pattern appear: nested objects that conform to ObservableObject with a reference from one to another, a top level object passed into the view, and view elements that follow the dot-notation chain to create the display.
SwiftUI wasn't built with keyboard support in mind, and it shows. Learn how you can rewrite keyboardShortcut to work with iOS 13 and access the underlying navigation controller to pop views on ⌘-Left Arrow.
If SwiftUI is great for many things, migrating completely an existing app codebase to it can be really tricky. In a series of blog posts, I’ll share how to migrate an iOS app written in Swift with UIKit to SwiftUI. Today, let’s start with the navigation and the UI components with storyboards.
Learn how to use Picker, a UIPickerView equivalent for SwiftUI.
Calendar app should be made simpler. Whether you are looking for not only an app to jot down your calendar events, but also an app with simple design? Clendar could be the one you are looking for, with features like widget, themes, keyboard shortcuts, natural language parsing.
Pulse is a structured logging system built with SwiftUI. Record and inspect network requests and logs right from your iOS app using Pulse Console. Share and view logs in Pulse macOS app. Logs are recoded locally and never leave your device.
Recombine is a deeply opinionated Redux-like implementation of the unidirectional data flow architecture in Swift. This project could be considered a tightened and Combine-specific sequel to ReactiveReSwift.
How to make a skeleton loading view in SwiftUI.