Fatbobman (东坡肘子)
banner
fatbobman.com
Fatbobman (东坡肘子)
@fatbobman.com
Swift & SwiftUI enthusiast | Tech blogger

Blog: http://fatbobman.com
Newsletter: http://weekly.fatbobman.com

@fatbobman at X
@fatbobman@mastodon.social
https://www.linkedin.com/in/fatbobman/
To debug Core Data code in VSCode/Cursor, you only need to do two things:

- use Xcode's Swift toolchain
- after the first time or after adjusting the model, use a script to compile xcdatamodeld into momd and place it in the correct build directory
fatbobman.com/en/snippet/...
November 5, 2025 at 12:43 PM
manage application configurations in one place with ObservableCloud Macros. whether it's UserDefaults or NSUbiquitousKeyValueStore, views automatically respond to configuration changes. Supports Codable and RawRepresentable.
github.com/fatbobman/O...
November 4, 2025 at 12:23 PM
`@GestureState` ensures seamless gesture tracking by automatically resetting after a gesture concludes. It restores your state even after interruptions, unlike State, which can't.
fatbobman.com/en/snippet/...
November 2, 2025 at 1:36 PM
With SwiftUI's current limitations on adding complex auxiliary views to the system keyboard, safeAreaInset emerges as a smart solution for creating a bottom input box like IM apps.
fatbobman.com/en/posts/sa...
October 23, 2025 at 2:23 PM
July 9, 2025 at 11:33 PM
Leverage ObservableCloud macros to simplify your NSUbiquitousKeyValueStore (iCloud Key-Value Storage) operations in SwiftUI—effortless as sipping water! 💪💻💧
github.com/fatbobman/O...
June 5, 2025 at 12:48 PM
combine GeometryReader, hidden, and id to dynamically tweak the sheet's presentationDetents by view height, creating a more adaptable layout.
fatbobman.com/en/posts/in...
May 15, 2025 at 12:48 PM
ObservableDefaults Now Embraces Codable Magic
Thanks to `jmisol`, ObservableDefaults now effortlessly handles `Codable` properties via the `CodableUserDefaultsPropertyListValue` protocol. Seamlessly store and retrieve complex data types with UserDefaults.
github.com/fatbobman/O...
May 2, 2025 at 12:19 PM
`@GestureState` ensures seamless gesture tracking by automatically resetting after a gesture concludes. It restores your state even after interruptions, unlike State, which can't.
fatbobman.com/en/snippet/...
April 28, 2025 at 1:47 PM
To easily test Core Data code in VSCode/Cursor, just do the following:

🔧 ensure the appropriate Swift toolchain is used
🔄 convert xcdatamodeld to momd with a script after model changes

for more details, click: fatbobman.com/en/snippet/...
April 15, 2025 at 12:28 PM
In TipKit, the framework boosts flexibility by saving display conditions by id instead of by Tip type name. This design lets you reuse Tip declarations effortlessly—just swap the id. It's perfect for generating countless similar tips for dynamic data.
fatbobman.com/en/posts/ma...
April 8, 2025 at 12:48 PM
In SwiftUI, `scrollClipDisable` determines if scrolling content fits the container's boundaries. False clips the content; true allows it to extend beyond.
fatbobman.com/en/posts/ne...
April 4, 2025 at 1:31 PM