Those Who Swift - Issue 273
Your weekly dose of Swift!
Weekly note ✏️
This week, Apple announced price increases across most of its hardware lineup, including MacBooks, iPads, HomePods, and Apple TV. The notable exception is the iPhone. According to the company, soaring memory and storage chip prices, driven largely by AI data center demand, have reached a point where Apple can no longer absorb the additional costs. Even Apple, with one of the strongest supply chains in the industry, isn’t immune to the global memory shortage.
This has another consequence for developers. Running open-source LLMs locally is becoming increasingly attractive as cloud services tighten token limits and subscription models. But local AI needs RAM, and lots of it. Machines with 64 GB, 96 GB, or 128 GB of unified memory are now significantly more expensive, with many high-memory Mac configurations selling at substantial premiums, even on the secondary market and major retailers. The cost of moving away from cloud AI is rising alongside the cost of staying with it.
We’re entering an interesting phase where AI isn’t limited by model quality anymore. Instead, it’s becoming constrained by infrastructure, memory availability, and cost. Choosing between cloud-hosted models and running them locally is no longer just a technical decision. It’s increasingly a financial one.
If hardware prices continue to rise, would you rather invest in a powerful local machine for open-source LLMs or continue relying on cloud AI subscriptions?
Swift Around the Web 🌐
Reordering Beyond List - SwiftUI iOS 27
Sagar Unagar highlights one of the most overdue SwiftUI upgrades in iOS 27: drag-to-reorder is no longer trapped inside List.
• reorderable() and reorderContainer(for:) bring native reordering to stacks, grids, and custom Layout types
• SwiftUI reports a ReorderDifference, while your app stays responsible for applying and persisting the move
Read more.📍Level: Intermediate
A Custom Pull-to-Refresh In SwiftUI
Artem Mirzabekian treats pull-to-refresh as a state machine problem, which is what makes this custom approach feel more deliberate than most one-off gesture hacks.
• The component exposes the full refresh lifecycle, from pull progress to finishing animation
• It is built for cases where .refreshable is not enough, like branded indicators, custom thresholds, and tighter layout control
Read more.📍Level: Advanced
Coding 👨💻
Understanding Privacy Manifests In iOS
Natascha Fadeeva lays out privacy manifests as a practical Xcode task, not just another compliance checkbox.
• A PrivacyInfo.xcprivacy file declares collected data, tracking use, and required reason API access for your app or SDK.
• The article is especially useful around third-party SDKs and required reason APIs like UserDefaults, file timestamps, disk space, boot time, and active keyboard access.
Read more.📍Level: Intermediate
Design 🎨
Where Should Loading State Live In SwiftUI?
Mohammad Azam uses a simple products example to make a larger architectural point about where state duplication starts to creep in.
• He argues for keeping loading state in the view while the store stays the single source of truth for data
• The article is really about tradeoffs: some solutions can work, but they can also duplicate state and make updates like add or refresh feel more awkward
Read more.📍Level: Intermediate
Other cool stuff 🧰
SwiftUI Is One Graph, Over 40+ Years of Engineering
Mihaela Mihaljević Jakić’s post is less a SwiftUI tutorial and more an attempt to strip the framework down to its engine room.
• The central claim is that SwiftUI behaves like a single demand-driven graph, not a view tree that gets broadly diffed and rebuilt.
• It gets more interesting when the article connects that graph to the older stack beneath it — Core Animation, Core Graphics, Core Text, and Core Image — and argues that SwiftUI only really makes sense once you see the deeper machinery it sits on top of.
Read more.📍Level: Advanced
Proposing Task-Local Test Traits For Swift Testing
Point-Free’s proposal is small on the surface, but it targets a very real annoyance in test setup for task-local values.
• It would add a built-in .taskLocal trait, so tests could bind task locals without writing a custom trait for each one.
• The bigger benefit is less boilerplate and less need for separate test-support modules just to make task locals usable in Swift Testing.
Read more.📍Level: Advanced
AI 🤖
Previewing GPT-5.6 Sol: A Next-Generation Model
OpenAI is introducing a new three-tier GPT-5.6 family, with Sol as the flagship model, Terra as the balanced middle tier, and Luna as the faster lower-cost option.
• Sol adds new max reasoning and an ultra mode that uses subagents for more complex work.
• The preview is limited at first, with OpenAI emphasizing stronger safeguards, better coding performance, and broader availability in the coming weeks.
Read more.📍Level: Advanced
Introducing Claude Sonnet 5
Anthropic is positioning Claude Sonnet 5 as its most agentic Sonnet yet, aiming to bring Opus-like follow-through and tool use to a cheaper tier.
• It narrows the gap with Opus 4.8 on reasoning, coding, tool use, and knowledge work, while launching as the default model for Free and Pro plans.
• Pricing starts at $2 input / $10 output per million tokens through August 31, 2026, then moves to $3 / $15, with Anthropic also saying Sonnet 5 is safer than 4.6 overall and weaker than Opus models on dangerous cyber tasks.
Read more.📍Level: Beginner
Claude Science, An AI Workbench For Scientists, Is Now Available
Anthropic is pushing deeper into scientific workflows with a product that feels less like a chatbot and more like a research environment.
• Claude Science brings literature analysis, code, figures, manuscripts, and compute management into one workflow for scientists.
• It launches in beta on macOS and Linux for Pro, Max, Team, and Enterprise users, with a strong focus on biology and biomedical research.
Read more.📍Level: Intermediate
Tutorials 📒
Using Cursor In Xcode 27
Pol Piella shows that Xcode 27’s agent support is open enough to bring Cursor into the workflow, not just Apple’s built-in or officially listed assistants.
• The setup is surprisingly direct: install Cursor’s CLI, point Xcode at the agent executable, and run it with the acpargument.
• The bigger story is Xcode 27 itself: ACP support means custom agents can now sit inside Xcode’s intelligence flow alongside first-party options.
Read more.📍Level: Intermediate
Video 🎥
What’s New In SwiftUI For iOS 27?
Paul Hudson’s walkthrough makes it clear this is another unusually strong SwiftUI year, with improvements that range from under-the-hood compiler wins to features developers will feel immediately in app architecture and UI polish.
• The biggest changes are surprisingly quiet ones: @State is now a macro, View became a content builder, and both shifts aim to cut wasted work and reduce those infamous type-checking errors
• The visible additions are broad and practical — reordering outside List, swipe actions in custom layouts, prominent tabs, AsyncImage caching, crossfade navigation, smarter toolbars, and new APIs that hint at a more resizable future for iPhone apps
Watch here.📍Level: Intermediate
Books 📚
Mohammad Azam’s SwiftData Architecture is focused on the part most SwiftData content skips: how to build production apps, not toy samples.
It covers architecture, debugging, migrations, CloudKit, and performance.
Get 20% off with code: THS2026
Buy here.📍
Thanks for reading Those Who Swift!
Subscribe for free to receive new posts. 👇


