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去监听
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    asp与aspx有什么区别
    ASPX导入JS,JavaScript乱码怎么办
    ASP.NET找不到类型或命名空间名称怎么办
    ASP.NET缺少程序集引用怎么办
    如何查看搜狗浏览器应用的源码
    [HTML5] Render Hello World Text with Custom Elements
    [Javascript] Conditionally spread entries to a JavaScript object
    [TypeScript] Use the JavaScript “in” operator for automatic type inference in TypeScript
    [Javascript] Use a Pure RNG with the State ADT to Select an Element from State
    [Spring boot] Configuring and Accessing a Data Source
  • 原文地址:https://www.cnblogs.com/hqzxbb/p/4430423.html
Copyright © 2011-2022 走看看