2012-10-13

Objective-C勉強したいならコレを読め2012秋

前提

前提2

公式ドキュメント

日本語ドキュメント - Apple Developer

日本語化された公式ドキュメント。全てを読むのは難しいが、「Objective-C プログラミング言語」「Objective-Cによるプログラミング」を読めば、大半の入門書より網羅的に解説している。

ろくに書籍化されていない情報日本語で読むにはここしかない。

androidでは一切ドキュメント日本語化されず、公式チュートリアル日本語化でさえ有難がられる(そして一般の開発者が理解していない)惨状なので、日本語資料の存在を有難がるべき。

読む際の注意点

クラスリファレンス

XCode内で調べたいクラスでOption+右クリックでクイックヘルプを開き、更にクラス名をクリックすると、オーガナイザにクラスリファレンスが表示される。

ここで概要を読めばおおよそは分かる。

リファレンスに使われている単語は限られているので、英語が苦手で文法が不明瞭でも、読み続けさえすればある程度意味は把握できるようになる。

福井高専の有志による日本語リファレンス存在するが、更新が古い上に意味真逆に捉えた最悪な翻訳が野放しになっており、オリジナルへのリンクもない仕様なので、読むべきではない

詳解Objective-C 2.0 第3版

ベースObjective-Cの入門書が欲しいのであれば、この本一択

iOSに限定しないことで、Cocoa TouchCocoaのサブセットであるがゆえの制約など、iOSだけ見ているとなぜそういう仕様になっているのか分からない部分が明瞭になる。

ある程度理解したつもりでいるiOSプログラマでも、おそらく新しい発見がある。

Dynamic Objective-C

マイナビの連載でweb無料で読むことができるが、加筆修正された書籍版も販売されている。

約7年前に始まった連載なので、情報としては古く、ポージングなど既に廃止されたテクニックについて語っていたりもするが、その内容は色褪せない。

Objective-Cランタイムがどのようにオブジェクト指向C言語を結び付けているのか、クラスメソッドの実体とは何なのかを明らかにしていく。

iPhoneプログラミング UIKit詳解リファレンス

正直詳解と呼ぶほど詳しくないので、UIKitで困ったら素直にクラスリファレンスに頼った方が良い(ネットググるのは間違った情報に当たる確率が高いのでおすすめしない…)。

しかし丁寧な解説はUIKitに触れる際に一読する価値はある。

惜しむらくはiOS4時代のもので、バージョンアップ時にそれなりにUIKitに変更が加えられるので、それを考慮に入れて読むこと。

  • iOS5ではViewController周りに変更点が多い。大きな変更点で覚えているのは、UIAppearanceプロトコルで外観の操作ができるようになったりとか。
  • iOS6ではViewControllerのライフサイクルが変更したほか、属性付きテキストや使えるようになったり、テーブルビューヘッダが再利用可能になるなど細々とした修正点も。

iOSデバッグ最適化技法

タイトルからは中級者以上を想定しているように見えるが、実際には初学者向けで、retainを使ったメモリ管理から話が始まる。当然、MRC時代の本。

しかデバッガを用いたクラッシュ原因の特定や、Instrumentを使ったメモリリークの防止など、より品質の高いアプリケーションを作るノウハウについて触れているのが異色。

iOS開発におけるパターンによるオートマティズム

iOS開発で多用するMVCを利用したデータ管理や、テーブルビューによるリスト表示などをパターンとして紹介する本。

「使い方は分かったけど、どう作ればわからない」という人に作成の一つの指針としておすすめだが、万人に対してこの通りに作れ、とは薦めにくい。

この本は、強力な仕組みながら解説の乏しいCore Dataをプッシュしてページ数を割いているのが貴重なのだけど、NSFetchedResultsController(訂正しました。指摘ありがとうございます!)をスルーしているため実用性を大きく欠いてしまっている。

iPhone Core Audioプログラミング

大半の用途ではAVAudioPlayerを使用すれば困らないと思うのだけど、日本語Coreフレームワークについて1冊本が出ていて、これだけ詳細な情報が手に入るというだけで読まないと損。

独創的で優れた楽器アプリ日本のAppStoreからこれだけ多く登場したのは、この本の存在があったからに他ならないように思う。

エキスパートObjective-CプログラミングiOS/OS Xメモリ管理マルチスレッド

2012年はてな匿名ダイアリー名作ランキング50選様に取り上げて頂いた関係で、再び日の目を見ているようですので、この一冊を追加。

冒頭のメモリ管理の話が平易すぎて読む本を間違えたかと思ったが、ARCBlocks挙動を実装レベルで解説する以降の章はまさにエキスパートに相応しい内容。「使い方」の一歩先を知りたい人におすすめ

モダンスレッドプログラミングAPIであるgcdについても、網羅的な解説がある。

トラックバック - http://anond.hatelabo.jp/20121013200056