タグ

ブックマーク / blog.katty.in (1)

  • Objective-CのBlocksの循環参照とその解決策

    半年までは、Objective-Cでコールバックの処理は、delegateを使って実装していました。しかし、delegateによるコールバックは処理の繋がりが分かりにくいというデメリットがあります。 これは皆さん感じるところだと思いますが、実際に最近のObjective-C開発は、Blocksを使って記述するのがトレンドだと思います。 ただ、メモリ管理に関して少し注意しなければならない点があるので、検証結果も合わせて記していきたいと思います。(少し長くなるので2回にわけて書きたいと思います。) Blocksで処理を行う これは簡単なサンプルです。BlocksRunnerクラスは、Blocksで渡された処理を保持し、runメソッドが呼ばれた時にその処理を実行します。 int main(int argc, const char * argv[]) { @autoreleasepool { Bl

    Objective-CのBlocksの循環参照とその解決策
    glass-_-onion
    glass-_-onion 2013/02/24
    とても勉強になりました。ブロックスの実行を1回に限定するか、JavaScriptのbindみたいにthis参照を渡すのが解決策になるというお話。
  • 1