美文网首页
多控制器

多控制器

作者: 小盒盒 | 来源:发表于2020-09-30 06:32 被阅读0次

    1.自定义控制器存在的问题:

    1>.重复创建过多的控制器

    2>.出现了不好的现象:控制器已经死了,但是控制器的view还在

    3>.3个控制器的view同时出现了(层叠了)

    一个View 从父控件中移除,就会销毁,不是这样的,得取决去它有没有强指针指着。


    2.控制器父子关系的建立原则

     a. 如果2个控制器的view是父子关系(不管是直接还是间接的父子关系),那么这2个控制器也应该为父子关系

    [a.view addSubview:b.view];

    [a addChildViewController:b];

    或者

    [a.view addSubview:otherView];

    [otherView addSubbiew.b.view];

    [a addChildViewController:b];


    b. 获得所有的子控制器

     @property(nonatomic,readonly) NSArray *childViewControllers;

    c. 添加一个子控制器

    //XMGOneViewController成为了self的子控制器

     //self成为了XMGOneViewController的父控制器

     [self  addChildViewController:[[XMGOneViewController alloc] init]]; 

    // 通过addChildViewController添加的控制器都会存在于childViewControllers数组中

    d. 获得父控制器

     @property(nonatomic,readonly) UIViewController *parentViewController;

    e. 将一个控制器从它的父控制器中移除

    //控制器a从它的父控制器中移除

     [a removeFromParentViewController];


    3.补充

    实现拷贝的方法

    copy:浅拷贝(指针的拷贝),不会产生新对象

    只会产生不可变的副本对象(比如NSString)

    mutableCopy:深拷贝(内容的拷贝),会产生新对象

    只会产生可变的副本对象(比如NSMutableString)


    4. static的作用:

    ---  修饰局部变量  :让局部变量只初始化一次 局部变量在程序中只有一份内存  并不会改变局部变量的作用域,仅仅是改变了局部变量的生命周期(只到程序结束,这个局部变量才会销毁)

    --- 修饰全局变量  : 全局变量的作用域仅限于当前文件


    在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。

    全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。


    int    const   *p

    const修饰的是 *p

    表示*p不能被更改

    即地址里面的内容不能更改

    但p本身并不是常量,可以更改

    也就是一个指向常量的指针

    char *const p;与 const char * p;的区别

    前者定义P为常量,即只能单向赋值一次,P++展开为p=p+1,重复赋值给常量,出错,后者P为地址变量,地址变量是指向该变量的存储地址值如:4B3F6A,不能赋给一个字符值(字符相当于ascii表中对应的整数)如强制赋值,会把原地址变量P变为一个两位数的整数,造成地址指针溢出。而p++,则表示把该地址变量向下一个存储单元移动一位,如4B3F6A到4B3F6B.所以合法。

    一个是把指针定为const 。就是不能修改指针。也就是char * const p

    一个是把指针指向的内容定为const 。就是不能修改指针指向的内容 也就是const char *p

    简单来记就是你看const距离char近还是*近。距离char近就是将char类型的内容定为cosnt

    距离*近就是把指针定为const

    5.转场动画


    6.级联菜单

    1.一个控制器两个 tableView的数据源;

    2.两个控制器分别控制数据源;

    导航栏细节:

    相关文章

      网友评论

          本文标题:多控制器

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