分类 问题 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.什么时候用单利模式?
|