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去监听
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    vue(5)
    vue(4)
    vue(3)-防止闪烁
    vue(2)
    bootstrap 模态框
    2017年上半年工作总结和计划
    vue(1)
    文本框数量加减功能
    meta 控制移动端页面的缩放
    题解 P1550 【[USACO08OCT]打井Watering Hole】
  • 原文地址:https://www.cnblogs.com/hqzxbb/p/4430423.html
Copyright © 2011-2022 走看看