OC中的零碎知识点


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 目前尚未得出结论





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值