嵌套块和对self的引用

Bes*_*esi 6 weak-references objective-c ios objective-c-blocks

我有一个块,我使用self所以我声明一个弱的自我引用:

__weak MyClass *weakSelf = self;
Run Code Online (Sandbox Code Playgroud)

现在我的问题:

  1. 我在定义时遇到错误,我weakSelf不明白这应该是什么意思:

    无法在自动变量上指定weak属性

  2. 在我的区块内,我传递weakSelf到另一个区块,我不确定我现在是否必须再次做同样的事情:

    __weak MyClass *weakWeakSelf = weakSelf;
    
    Run Code Online (Sandbox Code Playgroud)

    然后传递weakWeakSelf到那个区块?

Pau*_*l.s 8

这很有可能发生在您定位到iOS 4时.您应该将其更改为

__unsafe_unretained MyClass *weakWeakSelf = weakSelf;
Run Code Online (Sandbox Code Playgroud)