fatbobman

joined 1 year ago
 

While Swift’s strict concurrency checking has good intentions, it significantly increases the burden on developers in many single-threaded scenarios. Developers are forced to add unnecessary Sendable, @MainActor, and other declarations to their code just to satisfy the compiler’s requirements. Swift 6.2’s new Default Actor Isolation feature will greatly improve this situation and reduce unnecessary boilerplate code. This article will introduce the Default Actor Isolation feature and point out some situations to be aware of when using it.

 

Blender is Developing an iPad Version

  • 🚦 Core Data Migration Incident Analysis
  • 🌟 Uncertain⟨T⟩
  • 🛠️ Xcode Project Renamer
  • 💡 iOS Backend Selection Cheat Sheet
  • ❓ How to Combine SwiftUI Views

and more...

 

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 Swift Weekly #094 is out!

F1: A Great Movie, An Even Greater Business

  • ✨ Icon Composer: Tackling Challenges
  • ⏳ SwiftUI 2025: What’s Fixed, What’s Not
  • 🪟 Windowing on iPadOS
  • 🔎 Apple Docs MCP

and more...

 

A Dimmer Liquid Glass and the Disappearance of Apple Intelligence

  • 🚀 How to Detect Text Truncation in SwiftUI
  • 📲 Everything You Should Know About Spacer
  • 🔍 Shaft - Swift-based Cross-platform UI Framework

and more...

 

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 Swift Weekly #092 is out! High Temperatures and Strange Atmospheric Phenomena

  • 🌟 My Month with Claude Code
  • ⏰ Schedule a Countdown Timer with AlarmKit
  • 📱 Using the Swift Android SDK
  • 🔎 Improving SwiftUI Performance

and more...

 

Swift’s Multi-Platform Strategy Requires Collective Effort

  • ⭐ NotificationCenter.Message
  • 🚀 Xcode’s Coding Intelligence Prompt
  • 🔐 Memory Efficiency in iOS

and more...

 

NotificationCenter has long been a staple of iOS development, offering developers a flexible broadcast–subscribe mechanism. However, as Swift’s concurrency model has advanced, the traditional approach—using string-based identifiers and a userInfo dictionary—has revealed several pitfalls: thread-safety hazards, silent typos, and unsafe type casts. These issues often only surface at runtime.

To eliminate these pain points, Swift 6.2 introduces a brand-new, concurrency-safe notification protocols in Foundation: NotificationCenter.MainActorMessage and NotificationCenter.AsyncMessage. Leveraging Swift’s type system and concurrency isolation, it validates both posting and observing at compile time, completely eradicating common problems like “wrong thread” or “payload type mismatch.”

 

Fatbobman’s Swift Weekly #090 is out! You Only Realize Its Value Once It’s Gone

  • 🔍 layoutPriority in SwiftUI ZStack
  • 🚀 Exploring the Limits of On-Device AI
  • 📈 Exploring a New Visual Language: Liquid Glass
  • 🧩 What's New in SwiftUI for iOS 26

and more...

 

In SwiftUI’s layout system, the .layoutPriority modifier might seem inconspicuous at first glance, yet it can decisively influence a view’s size allocation when it matters most. Most developers know its “magic”—in a VStack or HStack, a higher priority view will fight for more space when things get cramped. But did you realize that .layoutPriority can work wonders in a ZStack too? Its behavior there is entirely different from VStack and HStack. In this article, we’ll dive deep into this little-known feature and show you how to harness layout priority inside a ZStack.

 

Fatbobman’s Swift Weekly #089 is out! WWDC 2025: A Return to Pragmatism

  • ✨ A (Re-)Introduction to ExtensionKit
  • 🌌 SwiftData vs SQL Query Builder
  • 🌊 llm .codes : Make Apple Docs AI-Readable
  • 🎶 Dragula : Drag-and-Drop Solution for SwiftUI

and more...

view more: next ›