2014-08-28 65 views
1

自我給出的方法是可以安全使用訪問塊

-(void) doSomeWork 
{ 
    self.abc = ... 
    self.doreme=... 
} 

是可以安全使用doSomeWork塊內的方法?作爲

[weakSelf doSomeWork];//this is inside a block 

當然,我擔心的是,doSomeWork本身具有一定的參考自營事實。

回答

1

是的,在weakSelf的塊內使用doSomeWork是完全安全的。

當然,我擔心的是,doSomeWork本身具有一定的參考self的事實。

投入,這將是「doSomeWork本身使用self」,以便從句子中刪除「參考」這個詞更好的辦法。在doSomeWork內部創建的self沒有「參考」:該方法通過作爲該類的實例方法參考「免費」self。調用者將實際引用傳遞給方法;該方法執行時稱爲self,但不創建新對象。換句話說,當您撥打[weakSelf doSomeWork]時,在方法調用期間,您的weakSelf變爲self內部doSomeWork

相關問題