• oc特有语法


    分类 问题

    1.什么是分类?

      就是把一个类的功能,分出一部分来放在一个独立的文件中

    2.分类的语法是什么样的?

    @interface Person(SuperMan)

    3.分类与类是什么关系?

      分类依赖类而存在,没有类也就没有分类

    4.分类有什么作用?

    用于把一个比较庞大的类,分割开来,具有相同功能的方法放到一个分类中

    把太多的功能封装到一个类中,导致类文件过于庞大

    5.分类中能够像类一样声明成员变量?

    不能,分类中不能够定义成员变量

    1>.难以维护

    2>.难以使用

    6.分类中能否访问原类中的成员变量?

    7.分类中能够使用self关键字吗?

    不能

    8.分类中如果定义了与原类中相同的方法会调用谁?

    分类中的方法会被完全覆盖掉

    9.在实际的开发中如何应用分类?

    //***********************

    block 问题

    1.什么是block?

    block用来保存一段代码

    2.数据类型都有那些共同的特点?

    3.block的作用是什么

    主要用于封装有多种解决方案,或者可以用不同算法解决的问题

    4.如何定义block?

    int (^sumBlock)(int, int);

    void (^myBlock)();

    5.如何调用block代码块?

    >5.1如何利用block封装代码

    ^(int a, int b) {

        return a - b;

    };

    ^() {

        NSLog(@"----------");

    };

    ^ {

        NSLog(@"----------");

    };

    6.block中能够访问,变量吗?

    1>block内部可以访问外面的变量

    2>默认情况下,block内部不能修改外面的局部变量

    3>给局部变量加上__block关键字,这个局部变量就可以在block内部修改

    7.利用typedef定义block类型

    typedef int (^MyBlock)(int, int);

    // 以后就可以利用MyBlock这种类型来定义block变量

    MyBlock block;

    MyBlock b1, b2;

    b1 = ^(int a, int b) {

        return a - b;

    };

    MyBlock b3 = ^(int a, int b) {

        return a - b;

    };

    8.block跟函数很像:

    1>可以保存代码

    2>有返回值

    3>有形参

    4>调用方式一样

    //******************

    protocol 问题

    1.什么是协议?

    声明一些方法,协议本身

    2.类如何遵守协议?

    3.一个类可以遵守多个协议吗?

    4.协议中<NSObject>是什么意思?

    5.子类继承了父类,那么子类会遵守父类中遵守的协议吗?

    6.协议中能偶定义成员变量?

    7.协议可以在类的声明文件中.h文件中定义吗?

    8.如何约束一个对象类型的变量要存储的地址是遵守一个协议对象?

    SEL 问题

    1.什么是SEL?

    2.如何声明一个SEL?

    3.通过那些方法能够,调用SEL包装起来的方法?

    单利 模式问题

    1.什么是单利模式?

    2.单利的作用是什么?

    3.什么时候用单利模式?

  • 相关阅读:
    Android上的远程调试
    使用Chrome DevTools的Timeline和Profiles提高Web应用程序的性能
    用Chrome开发者工具做JavaScript性能分析
    查看html元素绑定的事件与方法的利器
    Chrome的JS调试工具
    作为Web开发人员,我为什么喜欢Google Chrome浏览器
    构造方法
    方法的带参
    OOP类和对象
    循环结构进阶
  • 原文地址:https://www.cnblogs.com/hytx/p/5049420.html
Copyright © 2020-2023  润新知