1. isKindOfClass 作用是:某个对象属于某个类型,包括继承的类型
2.isMemberOfClass : 某个对象确切属于某个类型,是不是具体的实例
3.selector :通过方法名,获得在内存中函数的入口地址;SEL是"selector"的一个类型,表示一个方法的名字,就是一个方法的入口地址
4.id是一个指向任何一个继承了NSObject类的对象.需要注意的是id是一个指针,所以在使用id的时候,不需要加*;@OC中的指令符
5.值传递和引用传递的区别:
值传递:就是将对象的值传递给目标对象,相当于copy.系统将为目标对象重新开辟一块完 全相同内存空间;
引用传递:就是讲对象的内存地址传递给目标对象,就相当于使目标对象和原始对象对应同一个内存存储空间.此时,如果对内存进行修改,内存中的数据也会改变.
6.性能优化:控制好内存,不用的内存实时释放;冗余代码;用户体验度;耗时操作;开线程进行处理
7.选择项目中的Targets,选中你所要操作的Target; 选Build Phases,在其中Complie Sources中 你想要在MRC中运行的ARC 的文件 ,在输入框中输入- fobjc-arc
若想要在ARC中运行MRC的文件,则输入-fno-objec-arc
8.深拷贝与浅拷贝
浅拷贝(copy):只复制指向对象的指针,而不复制引用对象本身(通过对象的指针来访问这儿对象,只赋值地址)
深拷贝(mutableCopy):复制引用对象本身,再创建一个对象,深拷贝 后内存中存在了两份独立的对象本身
9.安全释放:[_instance release]; _instance = nil;
10.目标-动作机制target-action(设计模式,为了解耦)
目标是动作消息的接收者.一个控件,或者更为常见的是它的单元,以插座变量的系那个是保有其动作消息的目标.
动作:是控件发送给目标的消息,或者从目标的角度看,他是目标为了响应动作而实现的方法.程序需要某些机制来进行事件和指令的翻译,这个机制就是目标-动作机制
11.类变量的@protected @private ,@public,@package声明各有什么含义
@protected 该类和所有子类中的 方法可以访问这样定义的变量(默认)
@private 该类中的方法可以访问这样的变量 子类不可以
@public 除了自己和子类方法外,也可以被其他模块中的方法访问
@package 目前尚未得出结论