我理解我应该使用保留的原因,但为什么我应该使用assign? (除了避免保留周期)
[编辑] 因此,如果我正确理解Chuck在https://stackoverflow.com/questions...上的答案,那么当我使用assign时,一旦变量超出方法范围就会失去范围,就像在常规C类型语言行为中一样?
答案 0 :(得分:12)
您应该分配不是对象的东西。应该分配任何C类型(例如int,float,char,double,struct和enum)。
答案 1 :(得分:2)
我能想到的几个例子:
答案 2 :(得分:1)
答案 3 :(得分:1)
假设Chuck从链接问题的答案是正确的,那么Objective-C中并没有真正的“范围”。听起来你应该只使用assign
来表示任何基元,比如int或BOOL。如果您需要拥有所有权,请使用retain
(或其他命令,如Chuck所述)。