0

アプリ内で次の呼び出しがあります。

 dispatch_async(dispatch_get_main_queue(), ^{
        self.emptyView.hidden = [self.recordsData count];
        [self finishedRefreshing];
    });

これにより、ivar にアクセスしているため、保持サイクルが作成されると考えるようになりました。しかし、ブロックが自己内にキャプチャされているのがわからないので、大丈夫だと思いました。これにより、私たちの典型的な慣例は実際にブロックを ivar として割り当てることは決してないため、weakself パターンを使いすぎていると思いました。まだ何か足りない気がします。ブロックを自分自身に割り当てずに保持サイクルを作成する他の方法はありますか? なぜ私がこの概念を理解するのに苦労しているのかはわかりませんが、優れた読み物も歓迎します.

4

1 に答える 1