免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
objective c 塊中對self的引用。
 
解決的辦法就是使用一個__weak變量取代:
 
__weak  DetailViewController *weakSelf = self;
self.animatedView.block  = ^( CGContextRef context,  CGRect  rect,   
   CFTimeInterval totalTime,  CFTimeInterval deltaTime)
{
DetailViewController  *strongSelf = weakSelf;
if (strongSelf != nil )
     {
          CGPoint textPoint =  CGPointMake((rect. size.width   -   
textSize.width )/2, (rect.size.height - textSize.height)/2);
         [strongSelf. artistName drawAtPoint:textPoint withFont :font];
     }
};

塊外的弱引用不增加retainCount.
塊內(nèi)的強引用退出塊時會被釋放。

如果單純的在塊內(nèi)引用外部的self,會增加retainCount,而不會釋放。



 如果這個 block 被異步調(diào)用那么創(chuàng)建一個
強引用保持這個被使用的對象處于活動狀態(tài)是正確的。

 DetailViewController 會在退出塊后retainCount=0,才被釋放。
釋放被延遲了。
autoreleasepool 的一個優(yōu)點。
  
本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
iOS 各種傳值方式
Block中weak/strong self的用法
到底什么時候才需要在ObjC的Block中使用weakSelf/strongSelf
IOS開發(fā)系列之xml解析阿堂教程(1)
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服