被weak objective-c中weak和strong使用的区别?

objective-c中weak和strong使用的区别?(弱和强)区别在于,当一个对象不再有指向它的强指针时,它将被释放,即使有指向它的弱指针。一旦最后一个强指针离开,对象将被释放,所有剩余的弱指针

objective-c中weak和strong使用的区别?

(弱和强)区别在于,当一个对象不再有指向它的强指针时,它将被释放,即使有指向它的弱指针。一旦最后一个强指针离开,对象将被释放,所有剩余的弱指针将被清除。可能有一个合适的例子。假设我们的目标是一只想逃跑的狗。强有力的指针就像插在门闩上的狗。只要你把狗拴在皮带上,狗就跑不了。如果有五个人牵着一条狗(五个有力的指针指向一个物体),除非五根绳子全部脱落,否则狗不会逃跑。弱小的指针就像一个小孩指着一条狗大喊:“看!一只狗在那儿。”只要拴住狗,孩子就能看到狗,弱小的指针就会一直指向它。狗的皮带一松开,不管有多少孩子在看,狗就会跑掉。只要最后一个强指针不再指向对象,对象将被释放,所有弱指针都将被清除。