block是ios 4推出的
ARC自动引用计数管理(ios5推出来的)
编译时特性
编译时在适当的位置适当加上release,autorelease,retain
在ARC中,release,autorelease,retain不能使用
但是copy依然可以使用保留其原本的特性
dealloc方法是当前对象即将释放时会调用的方法(在ARC中,不需要在调用super dealloc方法;但是dealloc方法依然有效,我们可以在dealloc方法中进行一些事情,比如:移除通知,移除KVO等)
在MRC中直接创建一个局部对象,内存不release会产生内存泄露
但是在ARC中直接创建一个局部对象,内存不会泄露
strong:强引用,强引用指向的对象不会被释放,当一个对象没有强引用指向时会立即释放(当创建一个指针没有声明时默认为strong)
weak:弱引用,弱引用指向的对象当释放时会自动置为nil(野指针是一个指针指向一块已经释放的内存地址)
__strong People *people=[[People alloc]init];
void * 类似于id类型,但是比id强大
id是任意对象
void * 还可以表示基本数据类型
void *a=1;
void *b=“阿道夫”;