通过在块中使用weakSelf,你可以避免保留循环.但有时你应该持有weakSelf直到块保留,因此你需要使用strongSelf就像
__weak __typeof__(self) weakSelf = self; dispatch_group_async(_operationsGroup, _operationsQueue, ^ { __typeof__(self) strongSelf = weakSelf; [strongSelf doSomething]; [strongSelf doSomethingElse]; } );
我想知道当weakSelf为零时,我们应该补充__strong typeof(self) strongSelf = weakSelf
例如:如果你的阿姨问你,"请在我离开之前从市场上购买雨伞".你去了市场,很难找到一把雨伞.最后你在几个小时后找到了一把漂亮的雨伞,然后你到家了,但是你发现你的姨妈已经离开了,你感觉很糟糕.但这对你的阿姨来说是正确的,因为飞行比伞更重要.
但是在您的编码问题中,您正在尝试做的是您正在访问市场并随身携带阿姨的护照,以便在您回来之前不会离开.
我猜这很粗鲁,但如果你仍然想这样做,请使用self
而不是strongSelf
dispatch_group_async(_operationsGroup, _operationsQueue, ^ { [self doSomething]; [self doSomethingElse]; } );