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