肘子的 Swift 记事本

Fatbobman's Swift Weekly #019

超越代码,拥抱思维转变

2024 年 2 月 20 日

经过几个月对 SwiftData 的研究,我最近才在项目中正式采用了它。然而,我发现与使用 Core Data 相比,编写代码的效率有所下降。这并非因为 SwiftData 难以使用,实际上,尽管 SwiftData 是在 Core Dat...

2024 年 2 月 22 日
如何处理 SwiftData 谓词中的可选值

由于 SwiftData 更改了数据模型的创建机制,而且谓词创建也采用了基于模型代码的类型安全模式。因此,当开发者在为 SwiftData 构建谓词时会遇到大量的处理可选值的操作。本文将探讨在构建谓词时,处理可选值的一些技巧和注意事项。

2024 年 2 月 7 日
探讨 SwiftUI 中的属性包装器:@UIApplicationDelegateAdaptor、@AccessibilityFocusState、@FocusedObject、@FocusedValue 和 @FocusedBinding

在本文中,我们将对 @UIApplicationDelegateAdaptor、@AccessibilityFocusState、 @FocusedObject 、@FocusedValue 和 @FocusedBinding 等属性包装器进行探讨。这些属性包装器涵盖了不同框架声明周期的整合、辅助聚焦、焦点值观察管理等功能。

2024 年 2 月 1 日
探讨 SwiftUI 中的属性包装器:@FetchRequest、@SectionedFetchRequest、@Query、@Namespace、@Bindable

在本文中,我们将对 @FetchRequest、@SectionedFetchRequest、@Query、 @Namespace 和 @Bindable 等属性包装器进行探讨。这些属性包装器涵盖了在视图中对 Core Data 和 SwiftData 数据进行检索以及在视图中创建命名空间等功能。

2024 年 1 月 25 日
探讨 SwiftUI 中的属性包装器:@AppStorage、@SceneStorage、@FocusState、@GestureState 和 @ScaledMetric

在本文中,我们将继续了解 SwiftUI 中的属性包装器:@AppStorage、@SceneStorage、@FocusState、@GestureState 以及 @ScaledMetric。这些属性包装器涵盖了数据持久化、交互响应、辅助功能、多窗口支持等多个方面,为开发者提供了简洁实用的解决方案。

2024 年 1 月 18 日
SwiftData 中的关系:变化与注意事项

在之前的两篇文章“掌握 Core Data 中的关系:基础”和“掌握 Core Data 中的关系:实战”中,我们详细探讨了 Core Data 中关系的概念和技巧。虽然这些知识在很大程度上同样适用于 Core Data 的继任者 SwiftData,但 SwiftData 在关系处理上也引入了一些显著的变化。本文将重点介绍 SwiftData 在关系方面发生的变化,以及由此带来的潜在挑战和值得注意的细节。