oc内存管理机制
1.垃圾回收 2.引用计数机制
iOS使用引用计数机制
oc 方法的调用:
消息发送机制
类 和对象及对象的创建(重点)
类(class):具有相同特征和行为的事物的抽象,是一个抽象的概念。
如何去描述一个类: 通过特征和行为
类的定义 :接口部分和实现部分
接口部分(.h):@interface ……@end
主要给外界提供可供访问的接口,声明一个类的特征和行为
实现部分(.m):主要实现,h声明的一些行为
文件和类的关系:
一个文件可以同时定义多个类,只要满足类的接口部分和实现部分的定义就可以,通常一个文件中只定义一个类。并且接口部分和实现部分可以定义一个文件里。
对象 (object):对象就是实例,类是对象的抽象
创建对象的两步:
1.在堆区为对象开辟空间(alloc 在堆区开辟内存)
id 泛型 类似于void*,返回堆区空间的首地址,可以代表oc中所有的对象类型
真实的对象是堆区开辟的内存空间,只不过指针变量per存储了堆区空间的首地址,所以把per间接地叫做对象(本质上是一个指针变量)
person *per = [person alloc]
2.初始化操作
对对象的实例变量初始化
per = [per int];
两步合起来写
person *per =[ [ person alloc] init];
实例变量的可见度
@public (公开的) @protected (受保护的(默认的可见度)) @private (私有的)
接口文件必须写在@interface …… @end 之间
实现文件必须写在@implementation……@end 之间