iOS开发-学习笔记-Xcode学习

先贴当前Xcode版本12.4
在这里插入图片描述
目前来说是最新的,针对12.4版本学习了一些特性,做一些记录和整理.
首先是新建工程界面,

新建工程

iOS
最新版没有SingleViewApplication选项, 也没有Empty Application模板选项,
看到一篇文章可以将已有的工程改成Empty Application的,或者可以尝试下载Empty模板

下载Empty模板创建Empty Application的文章参考

[将Single View Application模板的工程修改为Empty Application模板的工程的文章参考]

使用Empty Application模板学习的作用是可以更好的了解应用程序的组装过程.

这里选择APP选项,一路next,create下去,就建好了一个工程,界面如下:
在这里插入图片描述

工程文件详解


自动生成了很多文件,其中从上往下依次是:
AppDelegate.h
AppDelegate.m
SceneDelegate.h
SceneDelegate.m
ViewController.h
ViewController.m
Main.storyboard
Assets.xcassets
LaunchScreens.storyboard
info.plist
main.m

Delegate部分


默认已经有一些头文件导入和声明了,查看AppDelegate.h文件如下

在这里插入图片描述
查看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部分

和ViewController相关的声明和实现文件是开发iOS主要编辑的两个文件,尤其是使用IB开发界面程序的时候, 首先需要将界面上的View或具体的控件button, label等在.h文件中进行声明, 建立输出口Outlet或操作Action, 然后在.m文件中编写具体的操作方法. 在.h文件中声明后在.m文件中会自动创建对应的操作方法的方法体,只需要编写具体的操作代码即可.

两个storyboard

LaunchScreen.storyboard 是程序启动时加载的启动画面 main.storyboard 是程序启动后的主画面
一般新建工程后都会自动生成两个storyboard文件,如果没有自动生成,可以使用command+N,选择Launch
Screen,创建一个storyboard文件.

在这里插入图片描述

Assets


Assets.xcassets是Xcode提供的一个图像资源管理工具;

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.plist

这篇文章是讲解的比较全面的了,而且讲的很细.

info详解
简言之,info.plist就是为当前程序做一些版本,约束说明用的专属配置,因为不同的系统需要了解程序支持什么,APP store上架时需要审核版本号等信息.
一般这个文件不需要特别的修改,可能最多是更新版本时修改一下版本号.
可以新增属性配置,如下所示:

在这里插入图片描述

main.m


同所有编程语言类似, 这里是主程序入口文件,
打开可以看到已经生成了一些默认的代码

在这里插入图片描述
最新版Xcode都是默认使用ARC方式进行内存管理了,可以节省很多时间可以专注在业务处理上.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值