iOS ARC 自动内存管理

ARC不是垃圾回收,而是编译器自动插入代码来减少程序员的代码输入和失误。

同时比垃圾和效率要高,因为其不影响运行时间,相当于自己管理内存。

Strong相当于retain,在ARC环境为默认属性类型。

weak取代之前的assign,对象销毁之后会自动置为nil,防止野指针。

Assign不能自动置为nil,需要手动置为nil。

Delegate基本总是使用weak,以防止循环引用。特殊情况是,希望在dealloc中调用delegate的某些方法进行释放,此时如果使用weak将引起异常,因为此时已经是nil了,那么采用assign更为合适。

你可能感兴趣的:(iOS ARC 自动内存管理)