官方基础工程简介
-
AppDelegate.swift
负责外部事件监听 -
SceneDelegate.swift
负责管理视图的显示方式,如:应用的前后台事件的监听 -
ContentView.swift
项目展示的初始界面,类似以前的ViewController -
Assets.xcassets
资源目录文件 -
LaunchScreen.storyboard
启动页可视化界面 -
info.plist
项目属性类表文件,包括:项目名称、系统权限、三方应用白名单等等。 -
Preview Content
文件夹 预览内容 包含Preview Assets.xcassets
资源文件
SceneDelegate.swift各方法的介绍
// 在该方法中创建window的根视图控制器
- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions;
/* 当场景被系统释放时调用
发生在应用进入后台后不久,或者会话被丢弃时调用,稍后可能会重现链接
*/
- (void)sceneDidDisconnect:(UIScene *)scene;
// 应用从非活跃状态进入活跃状态时调用
- (void)sceneDidBecomeActive:(UIScene *)scene;
// 应用从活动状态进入非活动状态时调用
- (void)sceneWillResignActive:(UIScene *)scene;
// 应用将要进入前台时调用,使用此方法撤消在进入后台时所做的更改
- (void)sceneWillEnterForeground:(UIScene *)scene;
// 应用退到后台时调用 此时保存数据,释放共享资源,存储特定场景的状态信息
- (void)sceneDidEnterBackground:(UIScene *)scene;
用户界面的入口设置在SceneDelegate.swift
中,在此处创建一个ContentView
实例对象,最为跟视图控制器显示在window上
if let windowScene = scene as? UIWindowScene {
let window = UIWindow(windowScene: windowScene)
window.rootViewController = UIHostingController(rootView: ContentView())
self.window = window
window.makeKeyAndVisible()
}
ContentView中实现了一个文本视图的创建
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Hello World")
}
}
#if DEBUG
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
#endif
-
ContentView
遵循View
协议,在SwiftUI中想要显示任何的视图,都需要遵循View
,通过通过body
属性来返回视图 - body返回类型 some View。some是swift5.1新增加的一种返回类型,返回的是某种视图,但是SwiftUI并不需要关系它具体是什么
注意: 返回some View
意味着body属性将要返回一个遵循View协议的视图,必须返回一个子视图 -
Text("Hello World")
创建一个内容为Hello World的文本
-ContentView_Previews
是用来在Xcode中用来预览调试的部分,该部分代码包在#if DEBUG
和#endif
之间,在模拟器编译后是不会显示在用户界面上的
网友评论