首页 > 代码库 > iOS中修饰符assign与weak的区别

iOS中修饰符assign与weak的区别

上次做项目的时候,因为将delegate声明成assign类型,导致了程序EXC_BAD_ACCESS异常。结果发现是assign与weak的最大区别

它们都是弱引用声明类型,最大的区别在那呢?


如果用weak声明的变量在栈中就会自动清空

如果用assign声明的变量在栈中可能不会自动赋值为nil,就会造成野指针错误!

iOS中修饰符assign与weak的区别