欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

assign和weak的区别

程序员文章站 2022-04-15 10:48:27
assign和weak的区别 assign 和weak都是弱引用类型 用weak声明的变量在栈中会自动清零,赋值为nil 用assign 声明的变量在栈中可能不会自动赋值为nil,会造成野指针错误...

assign和weak的区别

assign 和weak都是弱引用类型

用weak声明的变量在栈中会自动清零,赋值为nil

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

在定义一个类的property时候,为property选择strong还是copy特别注意和研究明白的,如果property是nsstring或者nsarray及其子类的时候,最好选择使用copy属性修饰。为什么呢?这是为了防止赋值给它的是可变的数据,如果可变的数据发生了变化,那么该property也会发生变化