昨天晚上在間隙中看了 WWDC 2022 Screen Time API 的介紹,今天繼續補充一些有用到的小細節。
- Scene:Scene 是一個 Container,底下可以包含多個 View。每個 Scene 可以用來表示 app 底下的一個 UI 環境,最常見的是 WindowGroup 會是一組共享同樣 content 的窗口組。例如在使用 GoodNote 時,有時候會左右兩邊各開一個視窗,然後切到不同的文檔邊看邊做筆記,這時候的切屏功能就需要用到 WindowGroup,如果只用 View 的話就沒辦法支援這種情型。其他常見的還有 DocumentGroup,DocumentGroup 是用來處理是用來處理文件,包含讀寫等;而 Settings 則是給 user 提供設置介面
extension ManagedSettingsStore.Name {
static let gaming = Self("gaming")
static let social = Self("social")
}
- 上面可以去了解的知識點是 extension 和 Self
- extension 就是用來去擴展 class, struct, protocol 等等的功能,相當於增加新的元素而不會動到既有的結構
- Self 是用來指涉當前的型別,所以上面靜態變數的設定實際上是相當於
static let gaming = ManagedSettingsStore.Name("gaming")
,就是把內容放進去做初始化產出 instance,只是利用 Self 的寫法簡化來 code