请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

strongSelf问题

	__weak __typeof(self)weakSelf = self;
	_xBlock = ^() {
	    __strong __typeof(weakSelf)strongSelf = weakSelf;
        [strongSelf doSomething];
        [strongSelf doOtherthing];
    };
    _xBlock();

如果xBlock执行时,self已经被释放那么weakSelf为nil,strongSelf也为nil。
所以strongSelf只能保证当weakSelf有值的情况下,之后self不会被释放。
老师请问这么理解对么?

正在回答

1回答

理解的没问题。一般在block里再强引用下的目的往往是保证在block执行过程中是一直有值的。如果不这样做的话,如在多线程执行环境可能doSomething调用时self有值,doOtherThing方法调用时,self没有值,这通常不是我们期许的结果

1 回复 有任何疑惑可以回复我~

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信