在oc当中,构造函数主要以init,initWithXXXX来命名,主要负责初始化的相关工作
可以理解为用alloc创建一块在堆上的内存空间,这块空间我们要在使用之前做一些基本的初始化工作,初始化数据,和父类建立关系
- (id)init {
//调用父类方法,实例一个本类,涉及runtime,防止冲突,可以在构造方法里初始化一些数据等
self = [super init];
if (self) {
self.name = @"xxx";
}
return self;
}
析构函数dealloc,对象从内存中销毁前夕调用的函数
- (void)dealloc
{
//析构函数是在对象完全销毁的时候自动调用
//对象销毁的时候调用 计数器 retainCount = 0
//dealloc 不可以人为调用
//在dealloc里清除成员变量,代理,监听等
self.color = nil;
self.linePoints = nil;
[super dealloc];
}
static NSMutableArray *Arr;
// 加方法 静态方法
// 这个函数是本类的第一次实例化的时候调用
+ (void)initialize{
Arr = [[NSMutableArray alloc]init];
}