「Objective-CのBlocksの循環参照とその解決策」では、Blocksのメモリ管理の難しさと、世間ではよく使われている「weakSelfパターン」があまり良くないのではないかということを書きました。 このブログでは、いろいろ考えた結果たどりついた、僕が考えるBlocksの使い方を書きたいと思います。 サンプルをgithubに載せましたので、良ければそちらも参照してください。( BlocksMemoryExample ) Blocksを安全で便利に使うために必要なこと 先に、Blocksを安全で便利に使うためには、どんなことが必要なのかというのを考えておきたいと思います。 循環参照におちいらず、使用後に解放される。 使い手が内部の実装をできるだけ意識する必要がない。 おまじない的なコードを書く必要がない。 できるだけBlocksに渡すオブジェクトの存在を保証する。 そして、Bloc