我想使用塊薄弱的自我,但在街區weakSelf成爲零無__weak self - 爲什麼它發生?
剛剛創建,塊之前(嘗試使用不同的變體) - 看起來一切ok
但後來在塊 - 每個變種零
請告訴我做錯了什麼?誰能解釋一下?
使用塊
- (void)prepareToPlay
{
__weak typeof(self) weakSelf = self;
__weak SPHVideoPlayer *weakSealf2 = self;
NSArray *keys = @[@"tracks"];
[self.urlAsset loadValuesAsynchronouslyForKeys:keys completionHandler:^{
dispatch_async(dispatch_get_main_queue(), ^{
[weakSelf startLoading];
});
}];
}
嗯,你那個叫塊以前稱作塊已釋放,要麼你不保持一個強有力的參考'SPHVIdeoPlayer'實例或你的實例有一些多線程問題 – rckoenes 2014-12-02 14:38:18
@rckoenes - 看起來你是對的 - 我的實例已釋放塊調用之前...但我儘量遵循其推薦的 - 叫weakself爲沒有得到保留週期,但在這種情況下,我想我錯過了什麼 – gbk 2014-12-02 14:59:48
@Rob我創建的'SPHVideoPlayer'和定製後'init'方法嘗試調用此塊內內創建的對象上此方法實例 - 請編輯 – gbk 2014-12-02 15:02:03