weak和assign的区别

258 阅读1分钟

使用weak和assign修饰OC对象的区别

  • 相同点
 1.weak修饰OC对象
 2.assign修饰OC对象和基本数据类型
  • 不同点 1.成员变量 1.weak生成的成员变量是用__weak修饰的,比如LCFPersion * __weak _cat 2.assign生成的成员变量是用__unsafe_unretained修饰的,LCFPerson *__unsafe_unretained 2.__weak__unsafe_unretained 1.都不是强指针(不是强引用),不能保存对象的命 2.__weak:所指向的对象销毁后,会自动变成nil指针(空指针) 3.__unsafe__unretained :所指向的对象销毁后,仍旧指向已经销毁的对象