App
表示應(yīng)用程序的結(jié)構(gòu)和行為的類(lèi)型断序。
protocol App
使用教程
通過(guò)聲明符合App協(xié)議的結(jié)構(gòu)來(lái)創(chuàng)建應(yīng)用年栓。實(shí)施所需的主體計(jì)算屬性以定義應(yīng)用內(nèi)容:
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
Text("Hello, world!")
}
}
}
在結(jié)構(gòu)的聲明前加上@main屬性拆挥,以表明您的自定義App協(xié)議遵循者提供了應(yīng)用程序的入口點(diǎn)。該協(xié)議提供了main()方法的默認(rèn)實(shí)現(xiàn)某抓,系統(tǒng)會(huì)調(diào)用該方法來(lái)啟動(dòng)您的應(yīng)用竿刁。您可以在所有應(yīng)用程序文件中只有一個(gè)入口點(diǎn)。
由符合Scene協(xié)議的實(shí)例組成應(yīng)用的主體搪缨。每個(gè)場(chǎng)景都包含視圖層次結(jié)構(gòu)的根視圖,并具有由系統(tǒng)管理的生命周期鸵熟。 SwiftUI提供了一些具體的場(chǎng)景類(lèi)型來(lái)處理常見(jiàn)的場(chǎng)景副编,例如用于顯示文檔或設(shè)置。您還可以創(chuàng)建自定義場(chǎng)景流强。要在一個(gè)應(yīng)用程序中包含多個(gè)場(chǎng)景痹届,請(qǐng)將SceneBuilder屬性添加到主體:
@main
struct Mail: App {
@SceneBuilder var body: some Scene {
WindowGroup {
MailViewer()
}
Settings {
SettingsView()
}
}
}
您可以在應(yīng)用中聲明狀態(tài)以在所有場(chǎng)景中共享呻待。例如,您可以使用StateObject屬性來(lái)初始化數(shù)據(jù)模型队腐,然后在視圖輸入中將該模型作為ObservedObject或通過(guò)環(huán)境作為EnvironmentObject提供給應(yīng)用程序中的場(chǎng)景:
@main
struct Mail: App {
@StateObject private var model = MailModel()
@SceneBuilder var body: some Scene {
WindowGroup {
MailViewer()
.environmentObject(model) // Passed through the environment.
}
Settings {
SettingsView(model: model) // Passed as an observed object.
}
}
}
推薦
基礎(chǔ)文章推薦
經(jīng)典教程推薦
- 更新近百篇SwiftUI教程《SwiftUI2020教程》
- 幫您突破數(shù)據(jù)存儲(chǔ)難關(guān)《SwiftUI vs CoreData數(shù)據(jù)存儲(chǔ)解決方案》
技術(shù)源碼推薦
推薦文章
CoreData篇
- SwiftUI數(shù)據(jù)存儲(chǔ)之做個(gè)筆記App 新增與查詢(xún)(CoreData)
- SwiftUI進(jìn)階之存儲(chǔ)用戶狀態(tài)實(shí)現(xiàn)登錄與登出
- SwiftUI 數(shù)據(jù)之List顯示Sqlite數(shù)據(jù)庫(kù)內(nèi)容(2020年教程)
Combine篇
TextField篇
- 《SwiftUI 一篇文章全面掌握TextField文本框 (教程和全部源碼)》
- 《SwiftUI實(shí)戰(zhàn)之TextField風(fēng)格自定義與formatters》
- 《SwiftUI實(shí)戰(zhàn)之TextField如何給鍵盤(pán)增加個(gè)返回按鈕(隱藏鍵盤(pán))》
- 《SwiftUI 當(dāng)鍵盤(pán)出現(xiàn)時(shí)避免TextField被遮擋自動(dòng)向上移動(dòng)》
- 《SwiftUI實(shí)戰(zhàn)之TextField如何給鍵盤(pán)增加個(gè)返回按鈕(隱藏鍵盤(pán))》
JSON文件篇
一篇文章系列
- SwiftUI一篇文章全面掌握List(教程和源碼)
- 《SwiftUI 一篇文章全面掌握TextField文本框 (教程和全部源碼)》
- SwiftUI一篇文章全面掌握Picker,解決數(shù)據(jù)選擇(教程和源碼)
- SwiftUI一篇文章全面掌握Form(教程和源碼)
- SwiftUI Color 顏色一篇文章全解決
技術(shù)交流
QQ:3365059189
SwiftUI技術(shù)交流QQ群:518696470
- 請(qǐng)關(guān)注我的專(zhuān)欄icloudend, SwiftUI教程與源碼
http://www.reibang.com/c/7b3e3b671970