OK,在這個ARC保持代碼的自我塊內:這會把自己抱在一個塊裏面嗎?
dispatch_async(someQ, ^{
[self doSomething];
});
,並可以通過
__weak MyRequest *weakSelf = self;
dispatch_async(someQ, ^{
[weakSelf doSomething];
});
但如果DoSomething的有很多自我引用什麼來解決?因爲doSomething代碼將在block內部運行,並不是doSomething的所有代碼都是直接在block上運行的嗎?
我是否需要將weakSelf傳遞給doSomething以便該方法可以使用weakself引用而不是self?喜歡的東西
__weak MyRequest *weakSelf = self;
dispatch_async(someQ, ^{
[weakSelf doSomethingUsingThisSelf:weakself];
});
'doSomething'已經在弱引用上調用。 – rmaddy 2014-12-06 00:48:46
是的,我知道但裏面doSomething有一堆引用自我... – SpaceDog 2014-12-06 01:01:57
10那麼,這有什麼問題?你需要知道'doSomething'方法中的'self'? – rmaddy 2014-12-06 01:03:26