肘子的 Swift 周报 #024 | 秀出你的 WWDC 24 愿望单

肘子的话

我调整了周报的域名,换成了国内可以直接访问的网址。欢迎访问 weekly.fatbobman.com 订阅本周报的中英文电子邮件版本。

时间过得飞快,转瞬间我们已经迎来了 3 月底,距离 WWDC 2024 的召开也只有两个多月的时间。最近,一些开发者开始列出他们期待在 WWDC 2024 上见到的新功能和新特性清单。每位苹果生态的开发者心中都有属于自己的期待和愿望,你心中又期待着什么呢?欢迎将你的愿望清单通过 Twitter 或评论分享给我,我计划在 5 月的某一期周报中作一个愿望单特辑。

自从 2023 年 10 月 9 日推出首期 "肘子的 Swift 周报" 以来,到下一期,正好是半年的里程碑( 中间因为春节休息了一期)。目前,周报通过邮件、微信公众号、Medium、知乎和掘金等多个平台与大家见面。邮件订阅者已突破 1300 人,且开启率稳定在近 60%。这样的数据,特别是邮件订阅量,超出了我的预期,也极大地激励了我。我希望到 2024 年底,邮件订阅者能达到 3000 人。如果你还未 订阅邮件,请帮我实现这个目标。

下周,我将参加在北京举办的 Let's VisionOS 2024 活动,并分享一些关于 SwiftData 和 Observation 相关的内容。我也非常期待在此次活动中能与更多朋友进行面对面的交流。

前一期内容全部周报列表

原创

SwiftData 实战:用现代方法构建 SwiftUI 应用

Fatbobman( 东坡肘子 )

在之前的文章 SwiftData 中的并发编程 中,我们深入探讨了 SwiftData 提出的创新并发编程模式,包括它的原理、核心操作及相关的注意事项。这种优雅的编程解决方案赢得了不少赞誉。然而,随着更多开发者在实际的 SwiftUI 应用中尝试使用 SwiftData,他们遇到了一些挑战:尤其在启用 Swift 的严格并发检查后,发现 SwiftData 基于 Actor 的并发模型与传统的应用构建方法很难融合。本文将采用类似教程的方式阐述如何将 SwiftData 与现代编程理念相结合,顺畅地融入 SwiftUI 应用之中,同时提供策略来应对目前开发者面临的挑战。

近期推荐

利用 SwiftUI 构建 ML 的 App ( Part 1 )

DanielJia

虽然苹果在生成式人工智能领域尚在努力赶超,但其早已为开发者提供了成熟的本地 AI 模型解决方案。DanielJia 计划通过一系列文章,展现如何从零开始训练一个机器学习模型,并将其整合到 iOS 应用开发中,着重强调了与 SwiftUI 的高度兼容性。本篇文章选取 YOLO 模型作为实例,讲解了数据的准备、数据集的下载与处理,以及设置训练环境进行模型训练的全过程,旨在为 iOS 开发者提供一个清晰的机器学习应用开发指南。

Prompt to code in Xcode with Claude 3

James Rochabrun

虽然有传言称苹果计划今年为 Xcode 引入 AI 功能,但许多开发者已经迫不及待地将各种 AI 服务融入他们的开发流程中。在本文中,James Rochabrun 向我们展示了如何开发一个 Xcode 插件,这个插件利用 Anthropic 的最新语言模型 Claude 3 来提供类似于 Copilot 的辅助功能。文章的一个亮点是如何编写有效的提示,这一点对于生成精确的代码输出极为关键。下图展示了实现的最终效果。

Oh Sh*t, My App is Successful and I Didn't Think About Accessibility

Jacob Bartlett

无障碍设计能让更多用户受益,但由于成本和资源的限制,真正在开发过程中全面考虑无障碍性的项目并不常见。在这篇文章中,Jacob Bartlett 深入讲解了在 SwiftUI 应用中实施无障碍设计的重要性,并通过实际示例展示了如何在 SwiftUI 项目的不同环节中应用无障碍开发技巧。他强调,一旦掌握了这些可访问性策略,开发者就应该把这些做法整合到标准开发流程中,以预防未来可能出现的相关问题。文章不仅提供了详细的技术指导,也强调了开发者的社会责任,提醒他们在追求应用成功的同时,不应忽略那些依赖无障碍功能的用户。

Sending Trial Notifications with Provisional Authorization on iOS

Natalia Panferova

苹果的通知框架中包含了一项临时通知功能,这使得应用能够在未获得用户直接许可的情况下,静默地将通知发送至通知中心。这一策略巧妙地引导用户初步了解应用的通知功能。在这篇文章中,Natalia Panferova 详细阐述了如何有效利用这一功能。她认为,实施临时通知是一种极佳的策略,能够在尊重用户偏好的同时,展示应用保持通信的价值,不过开发者在实现各种通知时,必须确保信息的有用性、及时性,并且尊重用户的选择。

Getting Started with Structured Concurrency in Swift

Joannis Orlandos

通过结构化并发,开发者能够有效管理并发任务,减少如竞态条件和死锁等常见的并发编程难题。随着 Swift 6 的发展,开发者预计将全面转向采用结构化并发的开发范式。Joannis Orlandos 在本文中介绍了如何在应用程序中运用任务组和其他结构化概念,以编写更加可维护且易于理解的并发代码。他还计划在未来的文章中探讨 Swift 的 actor 模型,以及如何利用该模型编写无竞态条件的代码。

往期内容

THANK YOU

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

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

相关推荐
iOS阿玮6 小时前
别问了,我自己的产品也卡审了44个小时!
uni-app·app·apple
songgeb9 小时前
What Auto Layout Doesn’t Allow
swift
汉秋10 小时前
SwiftUI动画之使用 navigationTransition(.zoom) 实现 Hero 动画
ios·swiftui
YGGP13 小时前
【Swift】LeetCode 240.搜索二维矩阵 II
swift
YGGP1 天前
【Swift】LeetCode 73. 矩阵置零
swift
非专业程序员Ping2 天前
HarfBuzz 实战:五大核心API 实例详解【附iOS/Swift实战示例】
android·ios·swift
Swift社区3 天前
LeetCode 409 - 最长回文串 | Swift 实战题解
算法·leetcode·swift
iOS阿玮3 天前
请及时同意苹果开发者协议,避免影响迭代工作。
uni-app·app·apple
我唔知啊4 天前
SwiftUI 无限循环轮播图 支持手动控制
ios·swiftui
汉秋5 天前
SwiftUI布局之AnchorPreferences
swiftui