iOS我遇到的(面试)题总结下

iOS中assign和weak修饰符的区别

assign与weak,它们都是弱引用声明类型,最大的区别在那呢?如果用weak声明的变量在栈中就会自动清空,赋值为nil。如果用assign声明的变量在栈中可能不会自动赋值为nil,就会造成野指针错误!weak,assgin会在引用保存值的内存引用计数为0的时候值为空,并且weak会将内存值设为nil,assign不会,assign在内存没有被重写前依旧可以输出,但一旦被重写将出现奔溃.

你可能感兴趣的:(iOS我遇到的(面试)题总结下)