@sephilex 直接賦值整個(gè)app生存期間都會(huì)循環(huán)引用仰楚,weak-strong只有block執(zhí)行時(shí)短暫“循環(huán)引用”(如果self沒有被釋放),block執(zhí)行完成“循環(huán)引用”解除犬庇。
OC中Block使用了__weak和__strong依然不會(huì)循環(huán)引用原因關(guān)于使用__weak和__strong 大家都看到別人在block里面使用self或者self的屬性的時(shí)候要使用__weak修飾self僧界,然后才能block里面使用,在blo...
@sephilex 會(huì)臭挽,所以才能保證全程為nil或全程有值捂襟,但它是block作用域的自動(dòng)變量(局部變量),在當(dāng)前棧上分配欢峰,block執(zhí)行完成彈回上一個(gè)棧幀位置葬荷,當(dāng)前棧幀上分配的變量自動(dòng)作廢(回收),引用減1纽帖,避免了循環(huán)引用宠漩。
OC中Block使用了__weak和__strong依然不會(huì)循環(huán)引用原因關(guān)于使用__weak和__strong 大家都看到別人在block里面使用self或者self的屬性的時(shí)候要使用__weak修飾self,然后才能block里面使用懊直,在blo...
@sephilex 一扒吁,賦值給strongself相當(dāng)于直接使用self,會(huì)導(dǎo)致self引用加+1室囊,二雕崩,直接在block中使用weak self,可能會(huì)出現(xiàn)block前半段代碼有值融撞,后半段為nil的情況盼铁。三,使用weak-strong方法尝偎,如果block執(zhí)行前self已經(jīng)為nil饶火,那么從weak表中取出的self也會(huì)為nil鹏控,這樣能保證block中的self要么全程為nil,要么全程有值肤寝。
OC中Block使用了__weak和__strong依然不會(huì)循環(huán)引用原因關(guān)于使用__weak和__strong 大家都看到別人在block里面使用self或者self的屬性的時(shí)候要使用__weak修飾self牧挣,然后才能block里面使用,在blo...