App入门与UIKit简介|青训营笔记

139 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第6天

App入门与UIKit简介

iOSApp的入口与代理

·一个iOS App的入口是main函数(也是所有基于c语言实现的App的入口)当我们创建一个iOS app的时候,Xcode会自动为我们提供一个main函数实现,一般情况下,我们不应该修改此main函数的实现。

·UIApplicationMain函数会创建一个UIApplication对象,并且为其指定代理对象AppDelegate,尤其开启应用程序的生命周期。

·UIApplication是iOS的应用实例,负责监听应用级事件

·AppDelegate是应用级事件代理,管理应用程序的生命周期、通知事件、外部调用等事件

iOS app的生命周期

Not Running: 未运行。

Inactive:前台非活动状态。处于前台,但是不能接受事件处理

Active:前台活动状态。处于前台,能接受事件处理

Background: 后台状态。进入后台,如果又可执行代码,会执行代码,代码执行完毕,程序挂起

Suspended: 挂起状态。进入后台,不能执行代码,如果内存不足,程序会被杀死

在生命周期中有各个事件的执行方法

视图与视图层级

一个视图(UIView)就是在屏幕上显示的一个矩形块。除了展示图片、文字、视频等内绒之外,还可以拦截鼠标或手势等用户输入。UIView是所有视图的根类

图层(CALayer),UIView实际上只是CALayer的封装,在层级关系上两者也有着相平级的层级关系。其中UIView负责处理布局和触摸事件,但是不直接处理绘图和动画,CALay负责绘图和动画,不关注触摸事件。

视图控制器(UIViewController)是所有控制器的基类。其生命周期中各(主要)方法的执行流程:init—loadView—viewDidLoad—viewWillAppear--viewDidAppear--(begin to exit)—viewWillDisappear—viewDidDisappear—viewWillUnload—viewDidUnload—dealloc

UIView的生命周期:创建、子视图布局、将自己加入父视图、将自己移出父视图、添加到窗口、移出到窗口等。

常用的UI控件

重点:UICollectionView

其三大组成部分:Layout(布局)、DataSource(数据代理)、Delegate(行为代理) 

image.png