objective-c - block記憶體管理的問題
PHP中文网
PHP中文网 2017-04-24 16:00:38
0
3
736
[UIView animateWithDuration:0.2 animations:^{
    self.movingView.transform = CGAffineTransformMakeTranslation(200, 0);
}];

非常常用的一個動畫block.

那麼,在動畫 block 中使用了成員變量,會導致 retain cycle 嗎?

PHP中文网
PHP中文网

认证0级讲师

全部回覆(3)
曾经蜡笔没有小新

所謂「引用循環」是指雙向的強引用,所以那些「單向的強引用」(block 強引用 self )沒有問題

建議看以下鏈接,第39題,說的非常詳細
《招聘一個可靠的iOS》面試題參考答案

过去多啦不再A梦

如果是arc不會

phpcn_u1582

如果是arc,那就會產這個問題~mrc不會。

因為你用的成員變數對編譯器來說是這樣子的:self->member。所以在arc模式下,雖然只是用了成員變量,其實也有self指向這個變量,還是有記憶體洩漏的問題。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!