码迷,mamicode.com
首页 > 其他好文 > 详细

OC特有语法问题总结

时间:2015-10-19 15:44:25      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

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

OC特有语法问题总结

标签:

原文地址:http://www.cnblogs.com/zhuyaguang/p/4891971.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!