SwiftUI Weekly - Issue #46
The curated collection of links about SwiftUI. Delivered every Monday.
Reading
SwiftUI keyboard avoidance
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.
@ObservedObject and Friends in SwiftUI
How do you use the @ObservedObject property wrapper in SwiftUI? In this tutorial, we'll discuss ObservableObject, @Published – and more.
App architecture basics in SwiftUI
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.
Nested Observable Objects in SwiftUI
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.
Keyboard Navigation in SwiftUI
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.
Migrating an iOS app to SwiftUI
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.
How to use SwiftUI Picker
Learn how to use Picker, a UIPickerView equivalent for SwiftUI.
Code
Clendar
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
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
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.
Video
SwiftUI Skeleton Loading View
How to make a skeleton loading view in SwiftUI.