你的 App 被新系统打败了吗?

肘子的 Swift 周报 #050

2024 年 9 月 23 日

从 beta 7 开始,我的所有苹果设备都升级到了今年的新系统。用了一段时间后,我感觉今年的更新似乎比过去两年要稳定得多。但事实证明,这只是我个人的错觉。...

2024 年 9 月 25 日
NSManagedObjectID 与 PersistentIdentifier:掌握 Core Data 与 SwiftData 中的数据标识符

Core Data 和 SwiftData 是苹果为开发者设计的强大数据管理框架,能够高效处理复杂的对象关系,因而被称为对象图管理框架。在这两个框架中,NSManagedObjectID 和 PersistentIdentifier 功能相似,且都极为重要。本文将深入探讨它们的功能、使用方法及注意事项。

2024 年 9 月 18 日
用 Swift Charts 实现数据分段

数据分段(Data Binning)是一种常用的数据处理技术,通常将连续的数值或时间数据划分为多个区间(这些区间在多数情况下是相邻且互不相交)。这种方法不仅涵盖了数据的完整范围,还为每个区间内的数据点提供了明确的界定。通过数据分段,我们可以更有效地分析、可视化和统计处理复杂的数据集。本文将探讨如何利用 Swift Charts 提供的先进 API 来实现精准而高效的数据分段。

2024 年 8 月 14 日
在 SwiftData 模型中使用 Codable 和枚举的注意事项

相较于 Core Data,SwiftData 在数据模型的构建方式上实现了根本性的革新。它不仅支持纯代码的声明方式,还允许在模型中直接使用符合 Codable 协议的类型及枚举类型,这些都是其显著的新特性。许多开发者都倾向于利用这些新功能,因为它们似乎非常契合 Swift 语言的声明风格。然而,若对这些新功能的实现细节和潜在限制理解不足,开发者可能会在未来遇到不少问题。本文旨在探讨在 SwiftData 模型中使用 Codable 和枚举时需要注意的几个关键点,帮助开发者避免走入误区。

2024 年 8 月 7 日
嵌套 Grid 布局异常:遇到 SwiftUI 布局问题时的分析思路与解决策略

历经六个版本的迭代,SwiftUI 已不再是一个新兴框架。然而,开发者在使用过程中仍然会不时遇到由框架代码 Bug 引发的各种奇怪问题。本文将通过剖析一个 Grid 布局异常的案例,探讨在日常 SwiftUI 开发中遇到问题时的分析思路和解决策略。

2024 年 7 月 31 日
如何在 SwiftUI 中平铺图片

尽管图片平铺并非常用功能,但多数开发者仍能轻松掌握其实现方法。通过搜索引擎查询,几乎所有结果都指向同一解决方案 —— 使用 `resizable` 修饰符。然而,对于一个功能强大的 UI 框架而言,若某个需求仅有单一解决方案,显然是不够全面的。在本文中,我们将探讨两种不同的图片平铺实现方式,并由此引申出一种在 SwiftUI 中较少使用的 `Image` 构建方法。

2024 年 7 月 24 日
几个常见的关于 SwiftUI 的误解

本文旨在探讨几个关于 SwiftUI 的常见误解,以帮助开发者更好地理解和运用 SwiftUI。我们将剖析这些误区,包括对 SwiftUI 学习难度的认知、跨平台开发的期望、框架功能的范畴、以及代码量的误解等。通过澄清这些观念,我们希望能为 SwiftUI 开发者提供更清晰的学习方向和使用策略。

2024 年 7 月 17 日
使用 SwiftUI 开发无限四向滚动分页组件

SwiftUI 的出现为苹果生态的开发带来了革命性的变化,但在面对某些复杂需求时,它仍然存在一些挑战。最近,我开发了一个名为 Infinite4Pager 的组件,它支持无限四向滚动分页功能。本文中我们将分析实现过程中的关键思路,讨论需要特别注意的事项,并坦诚地审视 SwiftUI 在应对这类场景时的不足之处。通过这个案例,我们不仅能学习到具体的技术实现,还能更好地理解如何在 SwiftUI 的框架下突破常规,创造性地解决问题。

2024 年 7 月 12 日
多包单库中的 String Catalog 自动合并技巧

By Luca Ban

在 WWDC23 上,Swift 引入了一种用于 Swift 应用和包的国际化(i18n)新方式,即字符串目录(String Catalogs)。本指南涵盖了在新项目中开始使用字符串目录的基础知识:WWDC23 String Catalogs。然而,它没有涉及在单一代码库中包含多个 Swift 包的用例(并且没有示例项目)。在本文中,我们将探讨如何设置你的单库,使每个 Swift 包都可以拥有自己的字符串目录,并在构建主应用时自动合并为一个目录,而无需费力!

每周一晚,与全球开发者同步,掌握 Swift & SwiftUI 最新动向
可随时退订,干净无 spam