zoukankan      html  css  js  c++  java
  • IOS基础----ios运行过程

    1.每一个应用程序都有属于自己的UIWindow,UIWindow继承自UIView
    2.UIView面临的问题:
      1.谁来控制UIView之间的切换?
      2.谁来管理UIView的生命周期?
      3.谁来给UIVIew装配数据?
      4.谁来监听UIView的事件?
    上面三个问题的答案都是:UIViewController
    IOS核心类
    • UIView:视图,屏幕上能看得见摸得着的东西都是UIView,比如按钮、文本标签、表格
    • UIViewController:内部默认都有个UIView视图,负责管理UIView的生命周期、装配数据到UIView上显示、处理UIView时间
    • IOS的设计采取了MVC模式(模式、视图、控制器)
     
    IOS程序的运行原理:
    1.首先执行main函数
    2.执行UIApplicationMain函数
    3.UIApplicationMain函数内部
       1.创建一个UIApplication实例。这个UIApplication对象是单例的,一个ios程序对应一个UIApplication   
          实例
       2.UIApplication对象是应用程序的象征
       3.开启一个消息循环(main loop)
       4.再创建一个UIApplication的delegate对象,负责监听UIApplication的生命周期
       5 .当UIApplication的生命周期发生变化的时候,会给delegate发送不同的消息
    4.UIApplication函数的参数:
       第4个参数用来指定UIApplication的代理
       第3个参数用来指定UIApplication的类名(或者子类),如果为nil,默认就是UIApplication
     
    每一个新界面都是一个新的UIView,在切换过程中,涉及到了:
    • UIView的创建和销毁
    • UIView跟用户的交互(处理UIView内部每一行的点击)
     
    UIViewController
    • 其实,每当显示一个新界面时,首先会创建一个新的UIViewController对象,然后创建一个对应的全屏UIView,UIViewController负责管理这个UIView
    • UIViewController就是UIView的大管家,负责创建、显示、销毁UIView,负责监听UIView内部的时间,负责处理UIView与用户的交互
    • UIViewController内部有个UIView属性,就是它负责管理的UIView对象:@property(nonatomic,retain) UIView *view;
     
     
    所以当我们要监听按钮,进度条、slider、等的事件时,我们都要交给控制器UIViewControllre去监听
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    日常排雷:redis报错 could not get a resource from the pool
    阿里云centos服务器tomcat启动后,浏览器请求无响应
    并发生产顺序单据号测试
    json 数据 格式,请求接口,部分字段无法注入
    baomidou 动态数据源@DS 使用问题
    SpringMVC框架深入(八)--SpringMVC原理
    Spring框架深入(七)--json数据交互
    框架理论深入(六)--拦截器
    Spring框架深入(五)--文件上传和异常处理
    int和Integer的区别
  • 原文地址:https://www.cnblogs.com/hqzxbb/p/4430423.html
Copyright © 2011-2022 走看看