给定方法
-(void) doSomeWork
{
self.abc = ...
self.doreme=...
}
在 block 内使用 doSomeWork 是否安全?作为
[weakSelf doSomeWork];//this is inside a block
当然,我担心的是 doSomeWork 本身对 self 有一些引用。
Best Answer-推荐答案 strong>
是的,在带有 weakSelf 的 block 内使用 doSomeWork 是完全安全的。
Of course my concern is the fact that doSomeWork itself has some reference to self .
更好的表达方式是“doSomeWork 本身使用self ”,以便从句子中删除“reference”一词。 doSomeWork 内部没有对 self 的“引用”:该方法“免费”引用 self ,因为它是类。实际的引用由调用者传递给方法;方法执行时调用 self ,但没有创建新对象。换句话说,当您调用 [weakSelf doSomeWork] 时,您的 weakSelf 在 doSomeWork 内变为 self 持续时间为方法调用。
关于ios - 使用在 block 中访问 self 的方法是否安全,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/25542720/
|