Swift 周报 第十七期

前言

本期是 Swift 编辑组自主整理周报的第八期,每个模块已初步成型。各位读者如果有好的提议,欢迎在文末留言。

欢迎投稿或推荐内容。目前计划每两周周一发布,欢迎志同道合的朋友一起加入周报整理。

风起雨坠袭大地,叶落冬来又一年。Swift社区,和你同风雨,与你共未来!👊👊👊

周报精选

新闻和社区:苹果发布最新声明!将工人健康放在首位,iPhone 14 Pro 收获需等待更长时间。

提案:Swift 论坛讨论人气最高的提案

Swift 论坛:比较两个 “any Error” 的相等性

推荐博文:iOS 16 统计图实战汇总

话题讨论: 大家觉得互联网行业会不会持续走下坡路?

新闻和社区

11 月 14 日,参与新一周的 Ask Apple 活动

image

欢迎继续参与新一周激动人心的 Ask Apple 开发者系列活动,与 Apple 专家直接交流沟通。针对如何将最新技术集成到您的 App 中、设计直观的 UI,以及测试最新软件等主题大胆提问。

活动将于 11 月 14 日至 18 日举行,届时将提供多种语言和多个时区的在线一对一咨询和小组 Q&A。现已面向 Apple Developer Program 和 Apple Developer Enterprise Program 的当前成员开放注册。

Ask Apple 开发者系列活动终场周将在 12 月推出,敬请关注详情。

苹果发布最新声明!将工人健康放在首位,iPhone 14 Pro 收获需等待更长时间。

11 月 7 日,苹果对 iPhone 14 Pro 和 iPhone 14 Pro Max 目前的供应情况做出最新声明。苹果称,富士康郑州工厂目前的产能大幅度降低,iPhone 14 Pro 和 iPhone 14 Pro Max 的出货量将低于预期。

苹果表示,“我们继续看到对 iPhone 14 Pro 和 iPhone 14 Pro Max 机型的强劲需求。然而,我们现在预计 iPhone 14 Pro 和 iPhone 14 Pro Max 的出货量将低于我们之前的预期,顾客将需要等待更长的时间才能收到新产品。”

苹果称,正在与供应商密切合作,以恢复正常的生产水平,同时确保每个工人的健康和安全。

macOS Ventura 更高效,更尽兴,更跨界。

macOS Ventura 让各种日常操作都进化成神操作。一波新技能助你搞定更多,一众常用 app 能分享和协作,晋级的游戏让你更投入,还有种种妙招能拉上其他设备一起显身手。

优化的搜索功能,搜索功能可提供更准确、更完整的搜寻结果,还能在你键入前就提供搜索建议。

聚焦的快速操作,现在,你可使用聚焦搜索快速执行操作,比如设置闹钟、开启专注模式、用 Shazam 查找歌名、运行快捷指令等。

共享标签页组,从 Safari 浏览器直接分享标签页和书签,或发送信息。无论是与好友规划行程,还是与家人选购沙发,你都可以在一处地方集中分享所有标签页。而你的伙伴也可把他们的标签页添加进来。

收发信息的新技能,现在,你可对刚发出的信息进行编辑,或是将其撤回。另外,对于无法及时回复,想回头再来处理的信息,可标为未读。

iCloud 共享照片图库,可与最多五人顺畅地分享照片和视频,鼓励大家一起制作家庭照片集,让回忆更丰富完整。iCloud 共享照片图库会把家人们的美好回忆都集于一处,让每个家庭成员随时都能欣赏,即使不是自己拍摄或编辑的照片也能看到。

多种智能的共享方式,共享照片图库可以根据开始日期或照片中的人物,选取想要囊括的内容来进行设置。完成后,你可以手动分享,也可以看看边栏里新的“为共享图库推荐”,根据它的智能建议将照片添加进来。

在 App 之间切换,轻点一下,可在各 app 和窗口之间流畅切换;点按桌面任意位置,则能快速返回某个文件或文件夹。

FaceTime 通话也能玩接力了,轻轻一点,就能在设备之间转移 FaceTime 通话,方便你随时换上合适的设备。

让 iPhone 兼职网络摄像头,iPhone 强大的摄像头系统配合 Mac,能实现以往普通网络摄像头做不到的效果。只要将 iPhone 靠近 Mac,输入源就会自动切换为 iPhone,而且过程是无线的,不用动手插拔。

更多 macOS Ventura 新功能请查阅 https://www.apple.com.cn/macos/ventura/

提案

提案模块本期没有新的状态更新。下面推荐几个在 Swift 论坛讨论人气最高的往期提案。感兴趣的小伙伴可以去参与讨论。

提案 SE-0374: 将 sleep(for:) 添加到 Clock。该提案已在十五期周报正在审查的提案模块做了详细介绍。

提案 SE-0376: 函数反向部署。该提案已在十六期周报正在审查的提案模块做了详细介绍。

提案 SE-0377: 提出了新的 borrow 和 take 参数修饰符。该提案已在十六期周报正在审查的提案模块做了详细介绍。

提案 SE-0366: 代码上下文新增敏感关键字 move 修订后。该提案已在十一期周报正在审查的提案模块做了详细介绍。

Swift论坛

  1. Move-Only 类型的非正式介绍

  2. 相同的值相等的复杂性保证

let foo: String = ....
let bar = foo
foo == bar // is this O(1) ?
  1. 资料分享 swift package SignalHandler

  2. 讨论在 Linux 上使用 5.7 Regex 的问题

  3. 讨论 Swift 论坛的 iOS 应用

Discourse Hub App可以用来浏览Swift论坛内容,App基于WebView,本质与用浏览器没有区别😂

  1. 讨论检测 Mac 设备上可用的 USB 端口数量

  2. 讨论比较两个“any Error”的相等性

问题描述:有一个错误类型,它包含另一个存在的any Error:

@frozen public
struct RecursiveError<Location>:Error
{
    /// The location (key or index) where the error occurred.
    public
    let location:Location
    /// The underlying error that occurred.
    public
    let error:any Error

    @inlinable public
    init(_ error:any Error, in location:Location)
    {
        self.location = location
        self.error = error
    }
}

Unit Test:

$0.test(name: "int32-to-uint8", decoding: bson,
    failure: RecursiveError<String>.init(
        IntegerOverflowError<UInt8>.int32(.max),
        in: "int32"))
{
    try $0["int32"].decode(to: UInt8.self)
}

解决方法:

extension Error where Self:Equatable
{
    fileprivate
    func equals(_ other:any Error) -> Bool
    {
        (other as? Self).map { $0 == self } ?? false
    }
}
  1. 讨论 Boolean 运算和 async let

执行:

async let first: Int[] = someAsyncCall()
async let second: Int[] = anotherAsyncCall()

let bothEmpty = (await first).isEmpty && (await second).isEmpty
// or
let bothEmpty = await (first.isEmpty && second.isEmpty)
// or any other variation I can think of

会有以下 Error:

'async let' in an autoclosure that does not support concurrency
Capturing 'async let' variables is not supported

Boolean 运算是使用标记为自动闭包的 rhs 参数定义的,这意味着右侧的表达式会自动捆绑到闭包中,从而延迟其执行直到需要。 值得注意的是,这个 rhs 闭包属性没有被标记为 async ,所以没有 await 语句可以出现在它的“内部”。

解决:

let bothEmpty = await [first, second].allSatisfy(\.isEmpty)

推荐博文

在 iOS16 中用 SwiftUI 图表定制一个线图

摘要: 在 iOS 16 中引入的 SwiftUI 图表,可以以直观的视觉格式呈现数据,并且可以使用 SwiftUI 图表快速创建。本文演示了几种定制折线图并与区域图结合来展示数据的方法。

在 Swift 图表中使用 Foudation 库中的测量类型

摘要: 本篇文章使用今年推出的新的 Swift Charts 框架,实现如何绘制默认不符合 Plottable 协议的类型的数据。

在 iOS 16 中用 SwiftUI Charts 创建一个折线图

摘要: 苹果在 WWWDC 2022 上推出了 SwiftUI 图表,本文展示了如何用比以前从头开始创建同样的折线图少得多的代码轻松创建折线图。

如何在 SwiftUI 中创建条形图

摘要: 本文将展示如何创建一个垂直条形图,其中矩形的高度将代表每个类别的值。

Flutter 实战整理

摘要: 文章仓库增加 Flutter 实战模块,整理相关主题文章。

话题讨论

都说互联网红利已经没有了,那么大家觉得互联网行业会不会持续走下坡路?

欢迎在文末留言参与讨论。

关于我们

Swift社区是由 Swift 爱好者共同维护的公益组织,我们会分享以 Swift实战SwiftUlSwift基础为核心的技术内容,也整理收集优秀的学习资料。

特别感谢 Swift社区 编辑部的每一位编辑,感谢大家的辛苦付出,为 Swift社区 提供优质内容,为 Swift 语言的发展贡献自己的力量。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342