前言
本期是 Swift 編輯組自主整理周報的第八期艰山,每個模塊已初步成型。各位讀者如果有好的提議赦颇,歡迎在文末留言二鳄。
歡迎投稿或推薦內(nèi)容。目前計劃每兩周周一發(fā)布媒怯,歡迎志同道合的朋友一起加入周報整理订讼。
風(fēng)起雨墜襲大地,葉落冬來又一年扇苞。Swift社區(qū)欺殿,和你同風(fēng)雨,與你共未來鳖敷!??????
周報精選
新聞和社區(qū):蘋果發(fā)布最新聲明脖苏!將工人健康放在首位,iPhone 14 Pro 收獲需等待更長時間定踱。
提案:Swift 論壇討論人氣最高的提案
Swift 論壇:比較兩個 “any Error” 的相等性
推薦博文:iOS 16 統(tǒng)計圖實戰(zhàn)匯總
話題討論: 大家覺得互聯(lián)網(wǎng)行業(yè)會不會持續(xù)走下坡路棍潘?
新聞和社區(qū)
11 月 14 日,參與新一周的 Ask Apple 活動
歡迎繼續(xù)參與新一周激動人心的 Ask Apple 開發(fā)者系列活動,與 Apple 專家直接交流溝通蜒谤。針對如何將最新技術(shù)集成到您的 App 中山宾、設(shè)計直觀的 UI,以及測試最新軟件等主題大膽提問鳍徽。
活動將于 11 月 14 日至 18 日舉行资锰,屆時將提供多種語言和多個時區(qū)的在線一對一咨詢和小組 Q&A。現(xiàn)已面向 Apple Developer Program 和 Apple Developer Enterprise Program 的當(dāng)前成員開放注冊阶祭。
Ask Apple 開發(fā)者系列活動終場周將在 12 月推出绷杜,敬請關(guān)注詳情。
蘋果發(fā)布最新聲明濒募!將工人健康放在首位鞭盟,iPhone 14 Pro 收獲需等待更長時間。
11 月 7 日瑰剃,蘋果對 iPhone 14 Pro 和 iPhone 14 Pro Max 目前的供應(yīng)情況做出最新聲明齿诉。蘋果稱,富士康鄭州工廠目前的產(chǎn)能大幅度降低晌姚,iPhone 14 Pro 和 iPhone 14 Pro Max 的出貨量將低于預(yù)期粤剧。
蘋果表示,“我們繼續(xù)看到對 iPhone 14 Pro 和 iPhone 14 Pro Max 機型的強勁需求挥唠。然而抵恋,我們現(xiàn)在預(yù)計 iPhone 14 Pro 和 iPhone 14 Pro Max 的出貨量將低于我們之前的預(yù)期,顧客將需要等待更長的時間才能收到新產(chǎn)品宝磨』」兀”
蘋果稱,正在與供應(yīng)商密切合作唤锉,以恢復(fù)正常的生產(chǎn)水平世囊,同時確保每個工人的健康和安全。
macOS Ventura 更高效腌紧,更盡興茸习,更跨界。
macOS Ventura 讓各種日常操作都進化成神操作壁肋。一波新技能助你搞定更多号胚,一眾常用 app 能分享和協(xié)作,晉級的游戲讓你更投入浸遗,還有種種妙招能拉上其他設(shè)備一起顯身手猫胁。
優(yōu)化的搜索功能,搜索功能可提供更準(zhǔn)確跛锌、更完整的搜尋結(jié)果弃秆,還能在你鍵入前就提供搜索建議届惋。
聚焦的快速操作,現(xiàn)在菠赚,你可使用聚焦搜索快速執(zhí)行操作脑豹,比如設(shè)置鬧鐘、開啟專注模式衡查、用 Shazam 查找歌名瘩欺、運行快捷指令等。
共享標(biāo)簽頁組拌牲,從 Safari 瀏覽器直接分享標(biāo)簽頁和書簽俱饿,或發(fā)送信息。無論是與好友規(guī)劃行程塌忽,還是與家人選購沙發(fā)拍埠,你都可以在一處地方集中分享所有標(biāo)簽頁。而你的伙伴也可把他們的標(biāo)簽頁添加進來土居。
收發(fā)信息的新技能枣购,現(xiàn)在,你可對剛發(fā)出的信息進行編輯擦耀,或是將其撤回坷虑。另外,對于無法及時回復(fù)埂奈,想回頭再來處理的信息,可標(biāo)為未讀定躏。
iCloud 共享照片圖庫账磺,可與最多五人順暢地分享照片和視頻,鼓勵大家一起制作家庭照片集痊远,讓回憶更豐富完整垮抗。iCloud 共享照片圖庫會把家人們的美好回憶都集于一處,讓每個家庭成員隨時都能欣賞碧聪,即使不是自己拍攝或編輯的照片也能看到冒版。
多種智能的共享方式,共享照片圖庫可以根據(jù)開始日期或照片中的人物逞姿,選取想要囊括的內(nèi)容來進行設(shè)置辞嗡。完成后,你可以手動分享滞造,也可以看看邊欄里新的“為共享圖庫推薦”续室,根據(jù)它的智能建議將照片添加進來。
在 App 之間切換谒养,輕點一下挺狰,可在各 app 和窗口之間流暢切換;點按桌面任意位置,則能快速返回某個文件或文件夾丰泊。
FaceTime 通話也能玩接力了薯定,輕輕一點,就能在設(shè)備之間轉(zhuǎn)移 FaceTime 通話瞳购,方便你隨時換上合適的設(shè)備话侄。
讓 iPhone 兼職網(wǎng)絡(luò)攝像頭,iPhone 強大的攝像頭系統(tǒng)配合 Mac苛败,能實現(xiàn)以往普通網(wǎng)絡(luò)攝像頭做不到的效果满葛。只要將 iPhone 靠近 Mac,輸入源就會自動切換為 iPhone罢屈,而且過程是無線的嘀韧,不用動手插拔。
更多 macOS Ventura 新功能請查閱 https://www.apple.com.cn/macos/ventura/
提案
提案模塊本期沒有新的狀態(tài)更新缠捌。下面推薦幾個在 Swift 論壇討論人氣最高的往期提案锄贷。感興趣的小伙伴可以去參與討論。
提案 SE-0374: 將 sleep(for:) 添加到 Clock曼月。該提案已在十五期周報正在審查的提案模塊做了詳細介紹谊却。
提案 SE-0376: 函數(shù)反向部署。該提案已在十六期周報正在審查的提案模塊做了詳細介紹哑芹。
提案 SE-0377: 提出了新的 borrow 和 take 參數(shù)修飾符炎辨。該提案已在十六期周報正在審查的提案模塊做了詳細介紹。
提案 SE-0366: 代碼上下文新增敏感關(guān)鍵字 move 修訂后聪姿。該提案已在十一期周報正在審查的提案模塊做了詳細介紹碴萧。
Swift論壇
let foo: String = ....
let bar = foo
foo == bar // is this O(1) ?
Discourse Hub App可以用來瀏覽Swift論壇內(nèi)容,App基于WebView末购,本質(zhì)與用瀏覽器沒有區(qū)別??
問題描述:有一個錯誤類型破喻,它包含另一個存在的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
}
}
執(zhí)行:
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 運算是使用標(biāo)記為自動閉包的 rhs 參數(shù)定義的,這意味著右側(cè)的表達式會自動捆綁到閉包中盟榴,從而延遲其執(zhí)行直到需要曹质。 值得注意的是,這個 rhs 閉包屬性沒有被標(biāo)記為 async 擎场,所以沒有 await 語句可以出現(xiàn)在它的“內(nèi)部”羽德。
解決:
let bothEmpty = await [first, second].allSatisfy(\.isEmpty)
推薦博文
摘要: 在 iOS 16 中引入的 SwiftUI 圖表,可以以直觀的視覺格式呈現(xiàn)數(shù)據(jù)顶籽,并且可以使用 SwiftUI 圖表快速創(chuàng)建玩般。本文演示了幾種定制折線圖并與區(qū)域圖結(jié)合來展示數(shù)據(jù)的方法。
在 Swift 圖表中使用 Foudation 庫中的測量類型
摘要: 本篇文章使用今年推出的新的 Swift Charts 框架礼饱,實現(xiàn)如何繪制默認不符合 Plottable 協(xié)議的類型的數(shù)據(jù)坏为。
在 iOS 16 中用 SwiftUI Charts 創(chuàng)建一個折線圖
摘要: 蘋果在 WWWDC 2022 上推出了 SwiftUI 圖表究驴,本文展示了如何用比以前從頭開始創(chuàng)建同樣的折線圖少得多的代碼輕松創(chuàng)建折線圖。
如何在 SwiftUI 中創(chuàng)建條形圖
摘要: 本文將展示如何創(chuàng)建一個垂直條形圖匀伏,其中矩形的高度將代表每個類別的值洒忧。
摘要: 文章倉庫增加 Flutter 實戰(zhàn)模塊,整理相關(guān)主題文章够颠。
話題討論
都說互聯(lián)網(wǎng)紅利已經(jīng)沒有了熙侍,那么大家覺得互聯(lián)網(wǎng)行業(yè)會不會持續(xù)走下坡路?
歡迎在文末留言參與討論履磨。
關(guān)于我們
Swift社區(qū)是由 Swift 愛好者共同維護的公益組織蛉抓,我們會分享以 Swift實戰(zhàn)、SwiftUl剃诅、Swift基礎(chǔ)為核心的技術(shù)內(nèi)容巷送,也整理收集優(yōu)秀的學(xué)習(xí)資料。
特別感謝 Swift社區(qū) 編輯部的每一位編輯矛辕,感謝大家的辛苦付出笑跛,為 Swift社區(qū) 提供優(yōu)質(zhì)內(nèi)容,為 Swift 語言的發(fā)展貢獻自己的力量聊品。