用 iPhone 感受像素的游戏的快乐!

肘子的 Swift 周报 #028

2024 年 4 月 22 日

苹果公司最近更新了“应用商店审核指南”,现在允许模拟器应用进入 App Store。就在几天前,名为 Delta 的模拟器应用登陆了应用商店。Delta 是一款为 iOS 设计的综合模拟器,支持多种任天堂掌机游戏。这款应用其实很早以前就已经...

2024 年 4 月 25 日
深入探索 SwiftUI 中的 Overlay 和 Background 修饰器

在 SwiftUI 的工具箱中,overlay 和 background 是两个极其有用的视图修饰器,它们在多种开发场景中扮演着不可或缺的角色。本文将深入探索这两种修饰器的独特属性,并明确它们与 ZStack 的基本差异,以及适合它们的应用场景。

2024 年 4 月 18 日
Core Data 改革:实现 SwiftData 般的优雅并发操作

SwiftData,作为 Core Data 的后继者,引入了众多创新和现代化的设计思想。尽管它已经推出一段时间,但许多开发者还未在他们的项目中采用。这种状况部分是因为 SwiftData 对操作系统版本的要求较高,另一方面,由于 SwiftData 在某些功能方面还不够成熟,即便操作系统版本符合要求,开发者也可能因为功能限制而选择继续使用 Core Data。我们是否能将 SwiftData 中的一些卓越设计理念和巧妙实现,融合到 Core Data 的实际使用中呢?本文旨在探讨如何在 Core Data 中引入类似 SwiftData 的优雅和安全的并发操作,以实现一个 @ModelActor 的 Core Data 版本。

2024 年 4 月 11 日
@State 魅影:一个多窗口模式下 SwiftUI 应用的 Bug 分析

在本篇文章中,我们将探讨一个影响多窗口模式下 SwiftUI 应用的 Bug,并提出有效的临时解决策略。我们不仅会详细描述这一问题的表现,还将分享从发现到诊断,最终解决问题的全过程。通过这一探索,旨在为遇到类似挑战的开发者提供一个指引,以帮助他们更好应对其他的 SwiftUI 开发难题。

新框架、新思维:解析 Observation 和 SwiftData 框架

这是我在 Let's VisionOS 2024 上的演讲内容。为了便于阅读,我对原始内容进行了简化,并调整为更加书面化的表达。本次分享的核心是传达这样一个中心思想:尽管这些新框架是为了解决现有框架中的问题而设计的,但我们不应被过往的经验和惯例所限制。需要用开放的心态和全新的视角去学习和使用这些新工具。将采用新框架的过程视为将项目向更安全、更现代化方向重构的绝佳机会。

2024 年 3 月 28 日
SwiftUI 视图与 @MainActor

越来越多的开发者开始尝试开启并发严格检查选项,为 Swift 6 的到来做准备。在收到的警告和错误中,有一部分是与 SwiftUI 的视图有关,其中很多都是由于开发者没有正确的理解和使用 @MainActor 造成的。本文将聊聊 @MainActor 的含义,以及在 SwiftUI 的视图中应用 @MainActor 的技巧和注意事项。