赞
踩
先贴当前Xcode版本12.4
目前来说是最新的,针对12.4版本学习了一些特性,做一些记录和整理.
首先是新建工程界面,
最新版没有SingleViewApplication选项, 也没有Empty Application模板选项,
看到一篇文章可以将已有的工程改成Empty Application的,或者可以尝试下载Empty模板
下载Empty模板创建Empty Application的文章参考
[将Single View Application模板的工程修改为Empty Application模板的工程的文章参考]
使用Empty Application模板学习的作用是可以更好的了解应用程序的组装过程.
这里选择APP选项,一路next,create下去,就建好了一个工程,界面如下:
查看AppDelegate.m文件如下:
查看SceneDelegate.h文件如下:
查看SceneDelegate.m文件如下:
以.h结尾的文件是声明,以.m结尾的文件是实现, 发现有两个委托文件,一个是AppDelegate,一个是SceneDelegate,先看两个委托文件,
AppDelegate和SceneDelegate在iOS13的变化
首先,Delegate的作用是管理APP的生命周期,
(APP的生命周期包括初始化Connect,激活Active, 即将被挂起WillResignActive ,已经进入后台EnterBackground, 即将回到前台WIllEnterForeground,即将被杀死WillTerminate)
iOS的生命周期包括APP和UI两部分生命周期;
管理声明周期的使用场景包括,处理一些外界中断操作如来电话短信,低电量,或者应用内部因异常结束等场景,应用程序正常执行时一般不会修改这些委托文件.
1、iOS13之前,appDelegate的职责全权处理App生命周期和UI生命周期
2、iOS13之后,appDelegate的职责是处理App生命周期和新的SceneSession生命周期。
3、所有UI生命周期交给SceneDelegate处理,appDelegate不在负责UI生命周期。
和ViewController相关的声明和实现文件是开发iOS主要编辑的两个文件,尤其是使用IB开发界面程序的时候, 首先需要将界面上的View或具体的控件button, label等在.h文件中进行声明, 建立输出口Outlet或操作Action, 然后在.m文件中编写具体的操作方法. 在.h文件中声明后在.m文件中会自动创建对应的操作方法的方法体,只需要编写具体的操作代码即可.
LaunchScreen.storyboard 是程序启动时加载的启动画面 main.storyboard 是程序启动后的主画面
一般新建工程后都会自动生成两个storyboard文件,如果没有自动生成,可以使用command+N,选择Launch
Screen,创建一个storyboard文件.
1.方便app图标和启动页图片设置
2.展现1X,2X,3X图片简练
3.支持多种图片格式
(PS: APP图标和启动图只支持png,其他地方支持多种格式;读取图片时不需要写后缀,直接写图片名)
4.支持PDF格式的矢量图
5.图片只支持[UIImage imageNamed]的方式实例化,但是不能从Bundle中加载
6.不能根据路径读取图片,因为图片会被打包在Assets.car文件中
Assets基本操作
选中Assets.xcassets后, 右键选择image set,先添加一个image set,
第二步,直接从本地拖一张图片到image set中即可
为什么要使用不同X的图片,是因为要适配不同的分辨率,为了避免在程序运行时图片拉伸影响性能,所以让程序在运行时根据不同的场景选择不同的图片资源展示,可以最大程度的减少性能消耗.
这篇文章是讲解的比较全面的了,而且讲的很细.
info详解
简言之,info.plist就是为当前程序做一些版本,约束说明用的专属配置,因为不同的系统需要了解程序支持什么,APP store上架时需要审核版本号等信息.
一般这个文件不需要特别的修改,可能最多是更新版本时修改一下版本号.
可以新增属性配置,如下所示:
最新版Xcode都是默认使用ARC方式进行内存管理了,可以节省很多时间可以专注在业务处理上.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。