2014-08-28 63 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

相关问题