Home

OC 内存管理

OC 内存管理 OC 的内存管理是通过引用计数的机制实现。每一个OC对象都有一个retainCount的无符号整数属性,当对象被创建时,retainCount为1;当对象被变量持有时,retainCount加1;当变量不再持有对象时,retainCount减1;在retainCount为0时,对象被销毁。 MRC 手动管理引用计数和内存,需要手动在代码的相应地方添加内存管理的代码。 手动内存管理的原则 : 1、自己生成的对象,自己持有 2、不是自己生成的对象也可以持有 3、不需要自己持有的对象时,释放 4、不是自己持有的对象,不可以释放 ARC ARC 是苹果引入的一种自动内存管理机制,会根据引用计数自动监视对象的生存周期,实现方式是在编译...

Read more

OC Block

Block (代码块) Block是iOS 4 引入的C语言扩展功能,实质上是带有自动变量(局部变量)的匿名函数。 如下,函数的定义是必须有名字的,函数可以通过函数指针来传递和调用;Block的定义不需要名字,但是需要赋给Block变量才可以使用 /** * * 函数的定义必须是有名字的 **/ int func(int count) { printf("%d",count); return count; } int (*funcpter)(int) = &func; (*funcpter)(10); /** * * block的定义不需要名字,然后赋给一个block变量 **/ int (^testBlock...

Read more