美文网首页与时俱进的IT
UI(四)协议 、代理、程序的执行流程

UI(四)协议 、代理、程序的执行流程

作者: 社会主义顶梁鹿 | 来源:发表于2018-07-30 17:41 被阅读1次

    #pragma -------------协议-----------

     协议:共同遵守的条约 可以不遵守 遵守了->也可以不落实

     Protocol :协议 制定共同实现的方法(如果不实现会警告 但不会崩溃)

     协议定义:1、协议只有声明文件 只需要告诉人要遵守哪个方法 不需要指定具体怎么去实现

     2、协议有强制执行(@required)和选择执行(@optional),默认的是强制执行

     @required //强制执行 默认的 不写就默认

    - (void)redLight;

    - (void)greenLight;

     @optional //选择执行

    - (void)yellowLight;

     协议是一个公共接口 只要遵守协议的类都可以使用这个接口

     声明协议步骤:

     1、创建声明协议:commcnd+N -> Object-c File ->选择Protocol

     公式: @protocol 协议名

     2、声明协议方法:只要遵守协议的类都可以使用这个接口

     声明协议的方法有两种;(1):强制执行(@required)不写的话默认强制执行

     (2):选择执行(@optional)

     3、遵守协议 实现协议步骤:

     1、导入协议名 #import"协议名.h"

     2、@interface 类名 : 父类名<协议名>

     3、实现协议里面的方法

     为什么要使用协议?协议不是一对一,而是多种类都可以使用

     答:协议是一个公共接口,可以通过公共接口去声明方法,让只要遵守协议的类都可以使用,就不用单独去声明接口方法。节省代码量

     #pragma ------------代理-----------

     代理:1、也是一个协议,让别人帮忙做某件事的协议

     2、自己做不了或者不去做,让别人去做

     代理又叫做委托 delegate

    使用步骤:

     前三步 是写在 给别人值(帮别人做事)第二个页面

     1、声明代理方法

     2、声明属性接口

     3、确定什么时候触发代理

     后三步 写在接收数据的那 第一个页面

     4、导入类名 代理名

     5、挂上代理 (*****是否能 调用代理方法)

     6、实现代理方法

     #pragma --------程序的执行流程-----------

     程序的执行流程:

     程序的入口是main函数,使用 代理 ;根据程序的运行方法进入不同的代理方法

     __FUNCTION__ 当前执行的方法

    __LINE__ 当前的行数

     NSLog(@"%s %d",__FUNCTION__,__LINE__);

     启动流程:

     1、main 程序的入口(只执行一次)

     2、加载完所有选项,准备启动->可以在这个方法里面写需要加载的内容(窗口、启动时要创建的对象、数据,(只执行一次)

     application didFinishLaunchingWithOptions:

     3、进入活动状态->可以看到加载出来的内容->还原之前的状态(不止调用一次)

     applicationDidBecomeActive:

     按HOME键或者其他应用程序进入后台的步骤:

     1、即将进入非活动状态(不止调用一次)->在这方法里可以写想要保存的应用状态

       {applicationWillResignActive:

     1⃣️当应用程序将要入非活动状态执行,

     2⃣️进入非活动状态执行的条件:1、比如来电话了 2、HOME键}

     2、进入后台状态 (以前进入后台15秒后应用程序将不再运行)如果想让应用程序一直运行,可以在这方法里面进行操作 (不止调用一次)

       applicationDidEnterBackground:

     再次回到应用程序执行流程:

     1、从后台即将进入前台时调用(不止调用一次)

     applicationWillEnterForeground:

     2、已经进入活动状态

     applicationDidBecomeActive:

     即将退出应用程序:(调用一次)

     applicationWillTerminate:

    #pragma --------回顾----------

     1、协议

     2、代理

     3、程序的执行流程

     1、协议:公共接口 可以在协议里面声明 一些公共的方法 只要遵守协议的类 都可以使用这些协议方法

     导入协议:<协议名>

     好处:节省代码量 不用重复去声明相同的方法

     2、代理:委托别人去帮忙做某件事 也是一个特殊的协议

     3、程序的执行流程

     程序的入口是main 

     main会根据程序的运行状态 使用代理 去调用 对应状态的方法

     启动流程:

     1、main程序的入口

     main

     2、加载完所有选项 准备启动 -> 可以在这个方法里面写 需要加载的内容(窗口、启动时需要创建的对象、数据)(只执行一次)

     application:didFinishLaunchingWithOptions:

     3、进入活动状态-》可以看到加载出来的内容 -》还原之前的状态(不止调用一次)

     applicationDidBecomeActive:

     按HOME键或者其他使应用程序进入后台步骤:

     1、即将进入非活动状态(不止调用一次)->想要保存的应用状态

     applicationWillResignActive:

     2、进入后台状态(之前进入后台15秒后应用程序将不再运行)如果想让程序一直运行 可以在这个方法里面进行操作 (不止调用一次)

     applicationDidEnterBackground:

     再次回到应用程序执行流程:

     1、即将回到前台(不止调用一次)

     applicationWillEnterForeground:

     2、已经进入活动状态

     applicationDidBecomeActive:

     即将退出应用程序(只调用一次)

     applicationWillTerminate:

    相关文章

      网友评论

        本文标题:UI(四)协议 、代理、程序的执行流程

        本文链接:https://www.haomeiwen.com/subject/odafvftx.html