タグ

iosとBlocksに関するgologo13のブックマーク (2)

  • わかっているようでわかっていなかったBlocksの仕組み - bricklifeのはてなブログ

    iOS 4から使えるようになったBlocksは、余計なことを気にせず気軽に使えるとてもよい拡張機能で、僕も便利にガンガン使わせてもらっています。 ただ、表向きは親切なのですが、裏側の実装は変態的なことになっており、それを理解するまで疑問に思うことや不安を感じることが多々ありました。 というわけで、自分の復習もかねて、Blocksに関して色々調べた結果をここにまとめておきます。随時追記予定&つっこみ歓迎です。 Blockの正体は構造体 下記のようにBlock変数 myblock を定義したあとでブレークさせると、XcodeのVariables Viewでその中身を見ることができます。 「myblock = (struct __block_literal_1 *) 0xbfffd490」ということなので、myblock は __block_literal_1 という型の構造体のポインタ変数で、

    わかっているようでわかっていなかったBlocksの仕組み - bricklifeのはてなブログ
  • ARC+Blocks+llvm4.0時代のコード記述作法 – Zero4Racer PRO Developer's Blog

    はじめに ARC、Blocks、llvm4.0 Modern Objective-Cと、Objective-Cの記述方法はどんどんん変わっています。コードの記述量が減ったり、分かりやすいコードを書くことが出来る様になって来たものの、リーク、EXC_BAD_ACCESS(解放されたメモリにアクセスすることによるクラッシュ)が発生する危険があります。この記事では、2012年8月のリリースされた機能の時点で、わたしが採用している書き方のルールを紹介します。 iOS5 + weak最強 前提条件として、__weakが使用出来るiOS5での状況について記述しています。UI要素の変更の為にBlocksをコールバックで使う状況で、iOS4+ARC+Blocksで完全に問題が起きないコードを書くのは結構大変です。 決まりを作る それで実際にプログラムを作成するのですが、その時その時でベストな方法を選べば良

  • 1