最佳答案
ARC为属性引入了两个新的内存管理属性strong和weak。
除了copy,这显然是完全不同的东西,在__ABC1 vs __ABC2和__ABC3 vs assign之间有什么区别吗?
根据我的理解,这里唯一的区别是weak会将nil分配给指针,而assign不会,这意味着一旦指针被释放,当我向指针发送消息时,程序将崩溃。但如果我使用weak,这将永远不会发生,因为消息发送到nil不会做任何事情。
我不知道strong和retain之间有什么区别。
是否有任何理由在新项目中使用assign和retain,或者这种类型已被弃用?