Xcode12的改变较多,整体变化很大,在此进行学习记录。
Xcode12 启动窗口
启动窗口缺少了创建playground的选项,创建新的Playground需要打开File> New> Playground选项。
第一项是创建一个新的工程。
第二项是通过Git克隆一个服务器的工程。
第三项是打开现有存在Mac上的工程。
image.png
App的生命周期 (Life Cycle)
前4项还是同原来工程一样
Product Name: APP名称
Team:开发者团队
Organization identifier:组织者ID,一般设置为公司域名,也可以视情况而定,组织标识符。唯一标识您所在组织的反向 DNS 字符串。如果您没有公司标识符,可以使用 com.example. 在其后加上您的组织名称,并在分发 app 前进行替换
Bundle Identifier: APP唯一表示,一般是公司域名+ APP名称,就是APP的ID
interface: 视图接口,现在可以选择SwiftUI或者Storyboard
Life Cycle: 生命周期的选择 可以选择SwiftUI APP或者UIKit App Delegate
Language: Swift或者Objective-C ,(如果interface以及选择了SwiftUI,就不能再选择Objective-C了)
详细介绍区分一下inteface
storyboard包含大量不易阅读或编辑的XML。更糟糕的是,storyboard会随着开发时间的推移,变得越来越大。你所做的任何源代码管理更改都会变得非常痛苦。还有一个很糟糕的缺点就是,当开发人员通过源代码管理下拉修改文件时,无法明显看到改动信息。XIB也是如此。
SwiftUI修复了人们使用旧Swift+Interface Builder方法时遇到的许多问题, 迁移到SwiftUI的好处:
1 不再需要争论程序设计或基于故事板的设计,因为SwiftUI同时给了我们两者。
2 不再需要担心在提交用户界面工作时会产生源代码管理问题,因为代码比脚本XML更易于阅读和管理。
3 不再需要担心调用不存在的函数,因为我们的用户界面由Swift编译器检查。
如果使用Storyboard, 我们可以将控件拖到Storyboard中,并且可以点击右侧底部进行约束设置。打开按照源码查看,可以看到Storyboard实际是XML的文件。
image.png
image.png
而使用SwiftUI 会发现展示和代码是同步的,即可以使用代码修改,也可以使用视图拖拽,设置约束等。不管你是修改代码还是修改视图,两边会同步进行修改。SwiftUI的写法和Swift文件和Objective-C文件差距较大。
image.png
image.png
image.png
如果你还是不太了解SwiftUI怎么使用,请观看官网教程SwiftUI 官方教程
下面再介绍一下Life Cycle 生命周期
如果使用UIKit App Delegate,可以在AppDelegate中拦截到APP各种生命周期,也有SceneDelegate文件,设置启动图。
如果使用SwiftUI APP,将有@main函数入口进行启动。可以将启动图的设置以及初始化APP需要启动的服务放在这个方法里面进行设置。
image.png
网友评论