新的初步

你能够直接访问 fatbobman.substack.com 订阅本周报的中英文电子邮件版本。

几个月前,“摸鱼周报” 在完成了 100 期后正式落下帷幕。作为内容引荐板块的编辑,刚结束的一段时间里,我感到非常轻松和愉快,不再需要每周预备稿件。但是,过了一段时间,我发现当我从回忆中寻找技术头绪时,那些我细心挑选、阅览并引荐的文章给我留下了深化的形象。停刊后,虽然我每天也在阅览不少文章和博客,但形象没有之前担任编辑时那么深化。因此,我决议重新创立一个电子周报,除了共享优异的著作和信息,个人也能在收集和收拾的过程中有所收成。

虽然互联网上已经有许多优异的电子周报,但作为一名以中文为主的博主,我也有自己的优势。在 Fatbobman’s Swift Weekly 中,除了为订阅者供给我个人博客的最新消息外,还会共享其他优异作者关于 Swift、SwiftUI、Core Data、SwiftData 等方面的内容,无论是用英文、中文仍是其他言语撰写的。

考虑到我博客的首要受众,本周报将采用中英文双语的方式。

原创

揭秘 SwiftData 的数据建模原理

fatbobman

在 SwiftData 的数项改善中,用纯代码声明数据模型无疑给 Core Data 开发者留下了深化形象。本文将深化探讨 SwiftData 是怎么经过代码创立数据模型的,运用了哪些新的 Swift 言语特性,以及构建 PersistentModel 的过程和原理。

近期引荐

Using Core Data and Swift Data side by side

Pol Piella Abadia

Pol Piella 尝试在一个项目中一起运用 Core Data 和 SwiftData 以指向同一个耐久化数据存储,本文将记载他的操作和运用心得。假如你打算逐步从 Core Data 迁移到 Swift Data,或许想在你的应用程序中为特定用例(如小组件)运用Swift Data,本文将对你有所协助。

至少在当时阶段,一起在同一个项目中运用 Core Data 和 SwiftData 两个结构的难度并不小。特别是跟着数据模型的不断改变,保护两种不同的数据模型和代码将愈加困难。假如你只需要在 SwiftData 中运用一些上不支持的 Core Data 功能,能够尝试运用 SwiftDataKit。假如你能够接受运用设置原始值的方式(不创立 NSManagedObject 子类)来操作 Core Data 数据,或许能够尝试运用揭秘 SwiftData 的数据建模原理一文中介绍的经过 SwiftData 描绘来创立 NSManagedObjectModel 的办法。

Thinking in SwiftUI (2023)

Chris Eidhof and Florian Kugler

在这本书中,Chris Eidhof 和 Florian Kugler 将协助读者建立对 SwiftUI 作业原理的心智模型。详细解释最重要的概念,并协助你建立扎实的了解 SwiftUI 的根底。

由于 SwiftUI 是一个巨大的结构,本书侧重于作者以为对了解至关重要的结构背面的概念。它不是 SwiftUI 平台特定 API 的参阅,而是一个辅导,以提高你对 SwiftUI 作业原理的直觉。

我对 SwiftUI 的一些深化了解都来自于此书的旧版本。目前该书经过大量的重构,并将内容更新至当时最新的 API。本书适合于已对 SwiftUI 有必定了解并希望深化了解结构完成原理的开发者。中文版可在此处购买。

解密 SwiftUI 背面的 AttributeGraph

KyleSwifter

在作业中,作者发现在 watchOS 10 上的某段代码会出现 AttributeGraph 的循环依赖错误提示。经过定制的 AttributeGraph 分析东西,最终发现根本原因来自于对 NSAttributedString 的初始化办法的错误调用,以及体系控件对 AG 碎片更新的错误机遇。

很少有关于 AttributeGraph 的评论文章。得益于字节跳动和作者对 SwiftUI 底层的研讨,咱们有时机窥探 AttributeGraph: cycle detected through attribute 问题出现的原因。Kyle 在不久前启动了 OpenSwiftUI 项目,该项意图目标是创立尽或许接近 SwiftUI 原始 API 的完成。

Advanced SwiftUI Animations – Part 6: CustomAnimation

SwiftUILab

在这篇文章中,作者将评论 Animation 类型和 CustomAnimation 协议等主题,处理 Transactions 的新办法,以及指定动画( specify animations)的新选项。而且还将评论新的 PhaseAnimator KeyframeAnimator 视图和办法。

作为 A Companion for SwiftUI 的作者,Javier 在 SwiftUI 发布初期就表现出对 SwiftUI 的动画和布局完成的浓厚兴趣,并经过博客展现了令人惊叹的研讨成果。每篇文章都让我收获颇丰。

iPhone 15 Pro / Apple Vision Pro 上的空间视频,究竟是什么?

Onee at XReality.Zone

关于大部分消费者来说,Apple 秋季新品发布会中提及到的“空间视频”,或许只是众多特性中不太起眼的一个。之所以不太起眼,大概是因为除了发布会上的一段展现,咱们很难以更深化的视角去得悉空间视频看起来会是什么感觉。在本文中,作者将会议论和“空间”相关的三个事项:

  • 如安在模拟器中体验空间相片
  • 空间视频/相片究竟是什么
  • Apple 究竟做了什么

XRealityZone 是一个专心于 XR 领域的创作者社区。他们希望经过深化的文章和教程、简略但有用的东西,以及活跃但不喧嚷的评论组,协助任何有抱负的创作者在 XR 世界中创造和深化作业。

How async/await works internally in Swift

Bruno Rocha

从 iOS 15 开端,Swift 引入了 async/await。但是你是否从前想过 async/await 在内部是怎么作业的?或许为什么它看起来和行为方式是这样的,以及引入 async/await 的初衷或动机是什么?在本文中,Bruno Rocha 将深化研讨 Swift 编译器,回答上述问题。

作者免责声明:我从未在苹果公司作业,与 async/await 的开发无关。这是我自己的研讨和逆向工程的结果,这里供给的部分信息或许不是100%精确。

【详细攻略】用英国公司注册苹果开发者账号

Junping

为了更好地开辟国际市场,有些国内开发者开端考虑创立外国公司和注册国外苹果开发者账户的事宜。本文作者撰写了三篇文章,别离介绍了怎么开设英国公司、怎么注册 Wise 企业账号以及怎么注册国外开发者账号。

提示:关于 App/ICP 存案,海外公司更难在国内存案。这需要在国内设立分公司或许经过外交部公证成为外国企业代表。而国内公司则能够直接存案。

THANK YOU

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