UI 多控制器

info plist

-products  产品目录
-supporting Files  资源文件放置
- info.plist 项目的配置文件
  • Localization native development region本地化

  • Executable File 可执行文件路径 ***千万不要改

  • Bundle identifier 应用唯一标识

  • infoDictionary version plist文件的版本号

  • bundle name 安装的时候创建的文件夹名称

  • bundle display 安装到桌面的APP名字

  • bundle OS Type code 不要改

  • bundle versions string,short itunes上的版本号

  • bundle version 上传到 APP store 需要用的版本号 比之前的版本号要高

  • launch screen interface file base name 启动界面的配置

  • main storyboard file base name 主storyboard

  • required device capabilities CPU框架

    TARGTS 和 info plist 对应

    学习新东西要弄清这个东西是用来干什么的

Pch文件的作用

-让项目中所有的文件都会导入里面的内容
-可以导入公共的头文件,网络工具类
-可以定义宏,访问路径
-绝对路径
    -$(SRCROOT)/工程名/文件名.pch
重新定义NSlog有什么作用:
#ifdef           DEBUG开发环境
    #define HMLog(...) NSLog(__VA__ARGS)
#else
    #Release     打包上线环境
注意 区分 OC 还是 C
#ifdef __OBJC__

#endif

UIapplication

- 代表整个应用程序,是一个单例的类
  • 在整个程序启动的时候,会创建一个 UIapplication对象,让他来管理 APP

  • 应用图标右上角的数字 **** 注意只能通过注册

程序生命周期

-程序启动时      
-程序进入后台
-程序后台到前台
-程序销毁
-内存警告

程序的启动过程

 -    main.m    C 语言程序的入口
 -    进入iPhone程序入口  UIapplicationMain
  • argc : argv数组的长度

  • argv : 数组的指针

  • principalClassName:UIApplication类

  • delegateClassName:就是 APPdelegate 类

  • 如果第三个参数为 nil, 先会去 info.plist去找NSPrincipaClass.还没有就用UIapplication

    • 为什么要有 APPdelegate ,让程序员在各个阶段做一些操作

UIwindow

  • 去掉main,就没有window了,必须手动代码创建

  • UIwindow是我们程序创建的第一个 view

  • 有了 UIwindow我们程序才能显示界面

  • 必须指定一个根控制器,也可以自己定义控制器

  • 在应用程序中有很多个window,键盘也是一个window,但是只有一个主window

  • 用 alloc 方式创建先找同名的 XIB 然后再找同名的去掉 controller 的 XIB

懒加载loadview

  • 控制器的根view是懒加载创建

  • loadview 的作用就是用懒加载的方式创建控制器的根view 显示的时候会调用loadview 方法

  • 通过 sb,xib 都会走 loadview 方法,并且界面上展示就是 xib/sb 上的内容

  • 代码 init 创建控制器,先找同名的 xib,再去找 controller 的 xib,如果没有创建一个空的控制器内部重写 loadview

  • super loadview 就是创建根view的,如果 super loadview 不写了,那么就自己创建一个 view, 给 self.view

  • 如果是从 xib/sb加载出来的, view 就是从 xib/sb加载出来的,如果代码创建,它就是一个空的

管理控制器的控制器

控制器的生命后期

-viewdidload        视图加载完成
-viewWillAppear     视图将要显示到界面
-viewDidAppear      视图已经显示到界面
-viewWillDisappear  视图将要消失
-viewDidDisappare   视图已经消失-用来销毁根 view
  • viewWillUnload 用来销毁subview 销毁子view

  • viewDidUnload

  • 在使用导航控制器的时候,在开发的时候一定要测试返回(上一个)控制器是否已经销毁



转载于:https://my.oschina.net/shaw1688/blog/625535

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值