肘子的话

欢迎拜访 fatbobman.substack.com 订阅本周报的中英文电子邮件版

经过几个月对 SwiftData 的研究,我最近才在项目中正式选用了它。然而,我发现与运用 Core Data 比较,编写代码的功率有所下降。这并非由于 SwiftData 难以运用,实践上,虽然 SwiftData 是在 Core Data 的基础上开展而来,但要想正确地运用和深化了解它,我必须抛弃许多我以前把握的 Core Data 经验,测验选用与 SwiftData 规划哲学更为符合的编程逻辑,这个进程中我不得不几回重新开始。

我留意到,许多开发者在从 Core Data 转化到 SwiftData 的进程中,往往只花费了几天甚至更短的时间。这种做法简略导致一个问题:只是将 SwiftData 当作 Swift 言语化的 Core Data,并简略地将 Core Data 的代码转化为 SwiftData 的代码。这种情况不只是发生在 SwiftData 的运用中,在运用 Observation 结构时,也有开发者只是是将基于 ObservableObject 的代码转化为新的模式。这种做法严重削弱了结构转化带来的结构和思维改变的时机,这是一个巨大的遗憾。

SwiftUI 自发布以来已五年,虽然开展速度并不算快,但苹果公司现已逐步向开发者们供给了一套更为全面的现代化编程结构。当时,开发者所面临的首要挑战,是缺少对这套结构的深化了解和实践经验。在进行结构转化的进程中,开发者不应只是局限于代码层面的直接转化,更为关键的是要进行思维和理念上的改变,这样才能真正发掘并运用新结构的悉数潜力。

前一期内容悉数周报列表

原创

讨论 SwiftUI 中的特点包装器:@UIApplicationDelegateAdaptor、@AccessibilityFocusState、@FocusedObject、@FocusedValue 和 @FocusedBinding

Fatbobman( 东坡肘子 )

在本文中,咱们将对 @UIApplicationDelegateAdaptor@AccessibilityFocusState@FocusedObject@FocusedValue@FocusedBinding 等特点包装器进行讨论。这些特点包装器涵盖了不同结构声明周期的整合、辅助聚焦、焦点值观察办理等功用。

Swift 言语的特点包装器与 SwiftUI 诞生于同一年。SwiftUI 充分运用这一功用,为开发者供给了一系列特点包装器,极大地简化了开发进程。在这个系列的四篇文章中,咱们详细梳理了到 iOS 17 时期 SwiftUI 所供给的悉数特点包装器,旨在协助开发者更加高效和便捷地运用 SwiftUI。希望这些内容能对咱们在运用 SwiftUI 时供给有价值的辅导和协助。

近期推荐

The Swift Method Dispatch Deep Dive

Jacob Bartlett

本文深化讨论了 Swift 言语中的办法派发机制,意图在于阐释 Swift 履行函数调用的机制及其对代码功用的详细影响。作者 Jacob Bartlett 选用了既详细又易于了解的方式,解析了办法派发的基本概念和各类办法派发(包括静态派发、表派发和消息派发)怎么影响代码的功用表现。文章进一步讨论了经过选用某些战略,如运用 final 关键字、办法的私有化以及全模块优化等,来降低动态派发的频率,从而有用提高 Swift 代码的运转功率。

Discovering Swift Algorithms package

Majid Jabrayilov

由苹果公司官方维护的 Swift Algorithms 是一个开源库,旨在为 Swift 言语带来一系列高效、强壮及有用的算法扩展。该库经过丰富 Swift 标准库的算法集合,为开发者在数据处理和计算履行上供给了极大的便当。在这篇文章中,Majid Jabrayilov 运用自己丰富的实践经验,向咱们展示了怎么凭借 Swift Algorithms 库中供给的各种功用,如二分搜索、数据分块、过滤、采样和元素组合等,有用提高项目开发的功率和履行功用。

Encapsulate and Generalize in Swift

Scott Smith

在项目中频繁引入第三方库,导致开发者不得不在代码中大量运用 import 语句。Scott Smith 在他的文章中提出了一种战略,以减轻 Swift 项目对第三方依靠的负担:确保整个项目仅单次导入每个第三方库,并防止在变量、类名或任何其他标识符中直接运用依靠库的名称。他强调,经过封装和泛化对第三方库的引证,可以防止代码与特定库过于紧密的绑定,这种紧密绑定会在更换库或调整功用时引入不必要的复杂性和额外工作。

The SwiftUI Field Guide

Chris Eidhof

SwiftUI 供给了一套既丰富又强壮的布局东西集,然而,关于初学者来说,仅经过阅读文档往往难以敏捷了解各种布局容器及其参数的详细功用和运用作用。针对这一挑战,Chris Eidhof 推出了 ”The SwiftUI Field Guide“ 网站。该网站选用交互式演示的方式详细解释了 SwiftUI 布局体系的运作机理,旨在协助开发者直观地把握布局东西的运用。

需要留意的是,网站上展示的 SwiftUI 布局作用是基于 Web 技术实现的,因此其行为可能与 SwiftUI 的实践表现存在细微差别。虽然如此,这些差异并不阻碍开发者对布局容器基础功用的了解和学习。

A week on with a VisionPro

Joseph Heck

在本文中,Joseph Heck 记录了他初度运用 Apple Vision Pro 的体验和所思所感,意图是为了日后回忆这款产品经过数次迭代更新后的改变。虽然在运用进程中遇到了一些挑战和不足,但 Heck 关于 Apple Vision Pro 展示出的开发和运用潜力持积极态度,尤其是在信息可视化和软件调试这些范畴。他对未来运用 Apple Vision Pro 进行创新和探索充满了期待,展示了一位开发者对新技术探索无限可能的热心。

往期内容

THANK YOU

如果你觉得这份周报或许我的文章对你有所协助,欢迎 点赞 并将其 转发 给更多的朋友。

欢迎拜访 fatbobman.substack.com 订阅本周报的中英文电子邮件版本。