苹果高管确认,新品即将上市 | Swift 周报 issue 24

7 月 24 日
阅读 6 分钟
262
周报精选新闻和社区:苹果高管确认,新品即将上市提案:围绕 Macros 提出多个提案Swift 论坛:新发布 VSCode devContainers 的新功能推荐博文:使用 async/await 完成后台任务管理话题讨论: 程序员养生喝什么?

掌握 Swift 中的 reduce 操作符,使你的代码更高效

7 月 24 日
阅读 3 分钟
317
Swift 的 Sequence 类型有一个强大的操作符叫做 reduce,它允许你将序列的所有元素组合成一个单一的值。在处理来自 App Store Connect API 的响应时,我一直在反复使用它,我觉得写一篇关于它的博客文章是个好主意。

Swift 周报 第二十三期

7 月 22 日
阅读 5 分钟
256
周报精选新闻和社区:苹果iPhone 15 Pro硬件细节曝光,广大网友期待USB-C接口迎来普及Swift 论坛:讨论嵌套泛型的问题推荐博文:iOS App 项目优化话题讨论: 生活中遇到的问题你会使用 chatGTP 寻找答案吗?

使用 Swift 递归搜索目录中文件的内容,同时支持 Glob 模式和正则表达式

7 月 20 日
阅读 4 分钟
190
如果新团队中的代码库在 GitHub / GitLab 中并且你不熟悉代码所有权模型的概念或格式。本篇文章以 GitHub 为例,你可以使用 Glob 模式将一个或多个文件链接到 GitHub 团队。

Swift 周报 第二十二期

7 月 19 日
阅读 6 分钟
210
周报精选新闻和社区:因iPhone销量下降 苹果利润2016年以来首次低于预期提案:新年开始多个提案状态发生变化Swift 论坛:讨论如何设置需要异步初始化的静态变量

Swift 6:导入语句上的访问级别

7 月 17 日
阅读 5 分钟
265
SE-0409 提案引入了一项新功能,即允许使用 Swift 的任何可用访问级别标记导入声明,以限制导入的符号可以在哪些类型或接口中使用。由于这些变化,现在可以将依赖项标记为对当前源文件(private 或 fileprivate)、模块(internal)、包(package)或所有客户端(public)可见。

Swift 周报 第二十一期

7 月 16 日
阅读 6 分钟
209
周报精选新闻和社区:苹果市值两年来首次跌破2万亿美元提案:弃用 @UIApplicationMain 和 @NSApplicationMainSwift 论坛:改变一个属性包装器推荐博文:iOS 应用卡顿监控与治理话题讨论: 您觉得烟花应该被禁止吗?

SwiftUI 中的内容边距

7 月 14 日
阅读 4 分钟
1.3k
SwiftUI 引入了一组视图修饰符,使我们能够有效地管理视图中的安全区域。在许多情况下,安全区域是你希望放置内容的地方。今天,我们将了解 SwiftUI 引入的新内容边距概念以及它与安全区域的区别。

Swift 周报 第二十期

7 月 14 日
阅读 5 分钟
145
周报精选新闻和社区:部分 iPhone 14 Pro / Max 被爆开机闪现水平线提案:DiscardingTaskGroups 提案正在审查Swift 论坛:讨论修改 SE-0368 以删除前缀 + 运算符推荐博文:SwiftUI 的优势、劣势和缺陷话题讨论: 疫情放开,你处于什么阶段

使用 SwiftUI 为 macOS 创建类似于 App Store Connect 的选择器

7 月 9 日
阅读 8 分钟
183
作为这项工作的一部分,我需要创建一个组件,允许用户从特定构建中添加和删除测试群组。我希望构建类似于 App Store Connect 中的选择器组件,使用户体验尽可能熟悉,并在本文中,将展示如何使用 SwiftUI 为 macOS 构建了这个组件。

Swift 周报 第十九期

7 月 8 日
阅读 4 分钟
182
周报精选新闻和社区:苹果汽车计划 2026 年推出,大降级!苹果汽车售价或低于 10 万美元,不支持完全自动驾驶提案:Swift 选择加入 Reflection 元数据Swift 论坛:使用较新的 macOS 版本生成 Package.swift 文件推荐博文:用 ChatGPT 写 SwiftUI话题讨论: 你如何看待各地疫情管控放开

在 ArkTS 中集成 C 语言模块来管理文件描述符

7 月 2 日
阅读 2 分钟
356
在现代开发中,尤其是在处理文件操作时,使用文件描述符(fd)是一种常见的方法。ArkTS提供了一种强大的方式来与底层C代码交互,使我们能够利用C语言的性能优势来管理文件描述符。在这篇文章中,我们将介绍如何通过ArkTS和C语言的结合来实现文件描述符的管理,并确保资源的正确释放。

如何在 Spring Boot 中开发一个操作日志系统

7 月 1 日
阅读 4 分钟
968
在开发企业级应用时,记录用户操作日志是非常重要的。这不仅能帮助开发者监控系统的行为,还能在出现问题时进行追踪。在这篇文章中,我们将介绍如何在Spring Boot中开发一个完整的日志系统,记录每一步操作,如登录、创建订单、删除、查询等。

如何在 SwiftUI 视图中显示应用图标和版本

6 月 28 日
阅读 4 分钟
319
构建视图的第一步是从主包中获取应用图标。可以通过检索应用的 Info.plist 文件中的一组键值来完成,如 Stack Overflow 上的这个答案所示:

Swift 周报 第十八期

6 月 27 日
阅读 3 分钟
200
周报精选新闻和社区:苹果 70 亿收购曼联消息不实提案:Package 注册表认证Swift 论坛:讨论数组的悬空指针推荐博文:灵动岛开发话题讨论: 世界杯你赚钱了吗?你觉得国足几年内能进世界杯?

如何使用 Swift 中的 GraphQL

6 月 26 日
阅读 4 分钟
292
我一直在分享关于类型安全和在 Swift 中构建健壮 API 的更多内容。今天,我想继续探讨类型安全的话题,介绍 GraphQL。GraphQL 是一种用于 API 的查询语言。本周,我们将讨论 GraphQL 的好处,并学习如何在 Swift 中使用它。

Swift 周报 第十七期

6 月 25 日
阅读 4 分钟
297
周报精选新闻和社区:苹果发布最新声明!将工人健康放在首位,iPhone 14 Pro 收获需等待更长时间。提案:Swift 论坛讨论人气最高的提案Swift 论坛:比较两个 “any Error” 的相等性推荐博文:iOS 16 统计图实战汇总话题讨论: 大家觉得互联网行业会不会持续走下坡路?

使用 Swift 6 语言模式构建 Swift 包

6 月 24 日
阅读 3 分钟
455
我最近了解到,Swift 6 的一些重大变更(如完整的数据隔离和数据竞争安全检查)将成为 Swift 6 语言模式的一部分,该模式将在 Swift 6 编译器中作为可选功能启用。

Swift 周报 第十六期

6 月 23 日
阅读 5 分钟
370
周报精选新闻和社区:【挑战上岛】适配实时活动和灵动岛提案:函数反向部署Swift 论坛:围绕 Swift 6 lock 展开的讨论推荐博文:推荐 500+ 款 App UI 设计工具推荐:妙言话题讨论: 如果您年龄超过 35 岁被裁员,再入职时能接受降薪吗?

逐步实现基于源码的 Swift 代码覆盖率

6 月 21 日
阅读 6 分钟
394
介绍最近,正在为我司的项目研究基于 Swift 的代码覆盖率检测方案的解决方案,我已经努力尝试并且找到了最佳实践。在这篇短文中,我将会给你介绍:如何生成 *.profraw 文件并通过命令行测量代码覆盖率如何在 Swift App 项目里调用 C/C++ 方法如何在 Xcode 中测量完整 Swift App 项目的代码覆盖率使用命令行练习在我们测...

Swift 周报 第十五期

6 月 19 日
阅读 5 分钟
439
周报精选新闻和社区:iPhone14 车祸检测功能摆乌龙 坐过山车自动报警提案:申请将 sleep(for:) 添加到 ClockSwift 论坛:Bug @available 在 literal 初始化中没有效果推荐博文:async/await 系列代码示例详解

Swift 中的幻象类型

6 月 18 日
阅读 5 分钟
406
模糊的数据可以说是一般应用程序中最常见的错误和问题的来源之一。虽然 Swift 通过其强大的类型系统和完善的编译器帮助我们避免了许多含糊不清的来源——但只要我们无法在编译时保证某个数据总是符合我们的要求,就总是有风险,我们最终会处于含糊不清或不可预测的状态。

Swift 周报 第十四期

6 月 17 日
阅读 3 分钟
428
周报精选新闻和社区:iPhone灵动岛无法适配大部分应用提案:Swift 5.8 实现的提案Swift 论坛:conformance 关键字推荐博文:SwiftUI 新功能 Layout 协议话题讨论: 大厂养老你会选择谁

Swift 中风味各异的类型擦除

6 月 16 日
阅读 6 分钟
430
Swift的总体目标是既强大到可以用于底层系统编程,又足够容易让初学者学习,这有时会导致相当有趣的情况——当Swift的类型系统的力量要求我们部署相当高级的技术来解决乍一看可能更微不足道的问题。

Swift 周报 第十三期

6 月 15 日
阅读 6 分钟
436
周报精选新闻和社区:iPhone14 Pro 刘海变“灵动岛”提案:大量提案审核结果已发布Swift 论坛:论坛内容丰富,欢迎参与讨论推荐博文:增加 App 排名的 ASO 小技巧

SwiftUI 动画进阶 — Part 5:Canvas

6 月 14 日
阅读 13 分钟
567
这个高级SwiftUI动画系列的第五部分将探索Canvas视图。从技术上讲,它不是一个动画视图,但当它与第四部分的 TimelineView 结合时,它带来了很多有趣的可能性,正如这个数字雨的例子所示。

Swift 周报 第十二期

6 月 14 日
阅读 5 分钟
430
周报精选新闻和社区:苹果曝出严重安全漏洞!黑客或可完全接管设备提案:改进指针系列初始化和缓冲区Swift 论坛:使用 Swift 5.5 / Xcode 14 构建后崩溃推荐博文:iOS16 引入 SwiftUI Charts

Swift 中的抽象类型和方法

6 月 13 日
阅读 4 分钟
471
在面向对象的编程中,抽象类型提供了一个基础实现,其他类型可以从中继承,以获得某种共享的、共同的功能。抽象类型与普通类型的区别在于,它们永远不会被当作原样使用(事实上,一些编程语言甚至阻止抽象类型被直接实例化),因为它们的唯一目的是作为一组相关类型的共同父类。

Swift 周报 第十一期

6 月 13 日
阅读 6 分钟
426
周报精选新闻和社区:已消失 5 年 iPhone 电量百分比为何现在回归提案:和脚本语言相媲美的字符串算法Swift 论坛:你是否希望支持在 Windows 上构建 Swift推荐博文:Swift社区 成立文章仓库

Swift 中风味各异的依赖注入

6 月 13 日
阅读 4 分钟
492
在之前的文章中,我们看了一些使用依赖注入的不同方法,以实现Swift应用中更多的解耦和可测试架构。例如, "在Swift中使用工厂的依赖注入"中把依赖注入和工厂模式结合起来,以及"在Swift中避免使用单例" 中利用依赖注入取代单利。