The latest Swift( SwiftUI ) Weekly Newsletter, Share excellent articles about Swift, SwiftUI, Core Data, SwiftData, iOS, VisionOS, macOS every week| fatbobman.com
At the first World Humanoid Robot Games recently held in Beijing, many amusing scenes unfolded: robots punching at thin air, swaying from side to side while running, and collectively tumbling after colliding during soccer matches.| Fatbobman's Blog
Patton is 13 years old now. While he usually displays far more energy and vitality than other dogs his age, various health issues have inevitably emerged as he's gotten older. Recently, Patton was diagnosed with pulmonary hypertension, and the vet prescribed a targeted treatment plan. Just as I was feeling relieved that the treatment seemed to be working, last Monday afternoon, Patton suddenly couldn't stand, was drooling excessively, and showed clear signs of cardiac distress.| fatbobman.com
Last Saturday, Apple officially and permanently closed an Apple Store in Dalian, China, marking the first time the company has closed a directly-operated store in the country. The store opened in 2015, exactly ten years ago. Following the announcement, numerous online reports emerged, with some interpreting this as a signal about Apple's business conditions in China. Since this store happens to be located in my city, I have some firsthand knowledge of the situation and would like to share a d...| Fatbobman's Blog
Swift's concurrency model introduces numerous keywords, some of which are similar in naming and purpose, often causing confusion among developers. This article examines several keywords related to cross-isolation domain passing in Swift concurrency: Sendable, @unchecked Sendable, @Sendable, sending, and nonsending, helping you understand their respective roles and use cases.| Fatbobman's Blog
Despite some minor issues, I had a pretty good impression of the previous beta versions of Xcode 26. Both the refreshing visual experience and the clearer annotations for AI-generated code were quite impressive. However, after recently updating to beta 4, these positive feelings quickly dissipated due to frequent Preview crashes.| Fatbobman's Blog
Swift 6.2’s Default Actor Isolation reduces boilerplate by inferring isolation for unmarked code, but brings new actor-boundary rules and macro challenges| fatbobman.com
A few days ago, the Blender Foundation announced that it is developing a native version for iPad Pro with specialized optimizations for Apple Pencil. The initial version will focus on basic object manipulation and sculpting features, with later versions adding Grease Pencil and storyboarding capabilities. It's particularly worth noting that this is not a feature-limited iPadOS version like some professional software, but a fully-featured Blender iPadOS native application.| Fatbobman's Blog
Compared to some open-source frameworks, Core Data and SwiftData, despite having Apple's official endorsement, often leave developers helpless when exceptions occur due to their "black box" nature, making it difficult to quickly locate problems and find effective solutions. This article documents an app startup timeout incident caused by Core Data model migration, shares the solution, and deeply analyzes the underlying causes.| Fatbobman's Blog
Last week I went to the theater to watch *F1*, Apple’s latest original movie—and the experience far exceeded my expectations. While the storyline was admittedly a bit thin, the sheer sense of immersion and racing excitement it delivered easily justified the ticket price. When Brad Pitt’s APXGP car thundered down Silverstone Circuit, the roar of the engine shaking the IMAX sound system transported me back to those days, over 20 years ago, when I’d sit glued to the TV cheering on the fi...| fatbobman.com
Explore Apple's new Formatter API in Swift. Learn its design, compare it with the old API, and discover how to create custom formatters with practical examples, including UIColor formatting.| fatbobman.com
Explore Apple's AttributedString, a Swift alternative to NSAttributedString for styled text. Learn to create custom attributes, use Markdown, & more.| fatbobman.com
Following the release of the new Liquid Glass style, Apple promptly introduced Icon Composer, a tool for creating icons that comply with the Liquid Glass standard. According to Apple's introduction, Icon Composer appears straightforward to use. It essentially requires users to place images in layers, and that's it. However, in practice, several details require careful attention. Megabits'll use his app as an example to briefly describe the issues I encountered during the process.| Fatbobman's Blog
After installing iOS 26 beta 3, users quickly noticed that the Liquid Glass effect is no longer as translucent as in the previous two beta releases. This change has sparked two opposing perspectives: some see it as a sign that Apple’s flagship design concept from WWDC 2025 is facing challenges, while others view it as evidence of Apple’s responsiveness to user experience data and its ability to iterate quickly. Either way, such a significant UI adjustment within a short time underscores t...| fatbobman.com
Text is heavily used in SwiftUI. Compared to its counterparts in UIKit/AppKit, Text requires no configuration and works out of the box, but this also means developers lose more control over it. In this article, I will demonstrate through a real-world case study how to accomplish seemingly impossible tasks with SwiftUI's approach - finding the first view among a given set where text is not truncated, and using it as the required size.| Fatbobman's Blog
Since mid-June, my city has also experienced unusually high temperatures. Although 30-31°C may not seem dramatic compared to other regions that routinely see 35-40+°C, for me, accustomed to temperatures in the 20s, this heat has become quite unbearable.| fatbobman.com
A few days ago, a friend who had previously highly praised and fully embraced Vibe Coding posted a tweet expressing his recent frustration with AI-based programming: Recently, Vibe Coding hasn't brought me any joy in writing code. On the contrary, I've felt frustrated by AI's inability to get things right the first time. I've started reading official documentation and quality videos again, building knowledge from the ground up, and that sense of control over my projects has returned.| fatbobman.com
A month-long journey with Claude Code reveals how AI reshapes coding, and why developers should stay actively involved to truly grow and avoid over-reliance.| fatbobman.com
Several months after the Swift forums first announced the formation of an Android Community Workgroup in February 2025, Swift.org has now officially launched an Android Workgroup. This marks the beginning of officially led efforts to support Swift on Android. With this, Swift developers may soon benefit from improved toolchains and a better development experience on Android.| fatbobman.com
Discover Swift 6.2’s new concurrency-safe NotificationCenter.Message APIs to ensure type safety, eliminate runtime errors, and streamline notification handling.| fatbobman.com
At WWDC 2025’s “Bring Your SceneKit Project to RealityKit” session, Apple officially announced that SceneKit will receive “critical-bug only” maintenance going forward, with no new features planned. The framework is now marked as deprecated in the official documentation, and developers are encouraged to migrate to RealityKit. Although many of us anticipated this day, the formal announcement still evokes a pang of nostalgia.| fatbobman.com
Explore using Swift for embedded development on the SwiftIO board. Learn how to abstract hardware, use familiar tools for development, and improve efficiency.| fatbobman.com
Explore Core Data’s WWDC 2023 updates: composite attributes, Swift-friendly predicates, version checksum, deferred & staged migration. Learn how these enhancements benefit your data management.| fatbobman.com
Dive into SwiftData's code-first data models, exploring PersistentModel creation, Swift language features, and its relation to Core Data. Learn how it works!| fatbobman.com
Learn how to design a robust Core Data Stack, covering its functions, components like NSManagedObjectModel and NSPersistentStoreCoordinator, and configurations. Understand the evolution from basic setup to advanced features like CloudKit and persistent history tracking.| fatbobman.com
Explore SwiftData's elegant concurrency mechanism, a successor to Core Data. Learn how it uses serial queues and Actors for safe, efficient multi-threading. Discover best practices for data access and modification.| fatbobman.com
Discover how SwiftUI's ZStack uses layoutPriority to compute size, allowing dynamic container resizing by toggling view importance—no ifs, no switches.| fatbobman.com
WWDC 2025 arrived right on schedule. Apple released all session videos at once, allowing developers to dive into the new features and APIs they care about without delay. After skimming through them over the past two days, my initial takeaway for this year’s conference is: as expected, yet unexpected.| Fatbobman's Blog
Ahead of WWDC 2025, the Swift official website has undergone a comprehensive redesign. The new design aims to enhance user-friendliness, highlight Swift’s technical strengths, and make it easier for beginners to get started. As a programming language deeply connected to the Apple ecosystem, the website naturally incorporates strong Apple-style visual elements.| fatbobman.com
Enable prebuilt SwiftSyntax in Swift 6.1.1+ to speed up macro builds by avoiding source compilation—works with Xcode and command-line builds| Fatbobman's Blog
Nowadays, Xcode Playgrounds seems to have deviated from its original purpose, and configuring VSCode can be overly complex for beginners. Against this backdrop, how can we easily set up an environment suitable for learning and testing Swift? Perhaps Notepad.exe, as introduced in this article, will provide a satisfying solution.| Fatbobman's Blog
Swift 5.9 adds the package access modifier to limit API visibility to within the same package, improving modularity and encapsulation without using public| Fatbobman's Blog
Master Swift’s Measurement API for safe unit conversion, precise formatting, and custom unit support—perfect for building internationalized, user-friendly iOS apps| fatbobman.com
Fix SwiftLint not working in Swift monorepos by setting config search paths in VSCode and specifying included directories in .swiftlint.yml| Fatbobman's Blog
Learn how to test Core Data in VSCode or Cursor by configuring the Xcode toolchain and manually converting xcdatamodeld to momd with xcrun momc.| fatbobman.com
Posts List | Fatbobman's Blog |肘子的 Swift 记事本 – Sharing content related to Swift, SwiftUI, Core Data, and Swift Data, as well as covering development tools, AI, and other topics. All articles are original creations; for reproduction, please contact the author.| fatbobman.com
Swift 6.1 now supports official WebAssembly builds via SwiftWasm—no patches needed. Use JavaScriptKit for seamless Swift–JavaScript interaction in WASM apps.| fatbobman.com
Learn how to integrate SwiftData with modern programming concepts in SwiftUI apps. This tutorial covers modularity, testability, and thread safety for robust data management.| fatbobman.com
Explore techniques for handling optional values when building SwiftData predicates, including optional chaining, nil-coalescing, and flatMap. Learn best practices.| fatbobman.com