本書のはじめにには「Xcodeを使ってiOSまたはOS X用の簡単なアプリケーションをいくつか書いたことのあるObjective-Cプログラミング中級者以上の方々を対象としております」と書かれているが、中級者というのは本書に書かれているようなことができる人のことだと思うのです。
が、言葉の定義は別としてある程度アプリの開発ができるようになった人が、より効率良く、また品質の高いアプリケーションの開発をするためにObjective-C的なコードを書き、開発ツールを使いこなすために知っておくといい内容をまとめている本だというのは間違いない。
Xcodeの効率的な使い方は知っているようでいて使いこなせていない人も多いだろう。Xcodeの機能は本書で書かれているのはほんのさわり。もっと豊富で開発効率を高めるのに役立つ機能はまだまだもっと沢山あるのだ。それでもここに書かれている程度のことは使えるようになると開発効率は高まる。興味のある人は自分でメニューを色々触ってみてもいい。Xcodeの解説本はXcode5向けで少し違う部分もあるが複数出版されているので参照してみてください。
その他、デバッグの手法、バージョン管理、テスト駆動開発の手順、リファクタリングや、メモリ管理、マルチスレッドなど。知っておくべき基本的な事柄がならぶ。メモリ管理やマルチスレッド(ブロック記法、GCD、オペレーションキューなど)は現代的アプリケーションの開発ではなくてはならない手法だ。どれもさわりだけの記述だが、こういうことを知っていれば実際に使ってみる機会ができてより深く知りたければそのトピックについて調べることもできる。
ただ闇雲に動くプログラムを作る段階から、このような手法を使えるようになれば開発効率も高まり、より高度なアプリケーションの開発もできるようになるのではないだろうか。
ところで、本書ではデータ管理手法として、Core DataとiCloudに一章を割き多くのページ数使って解説している。それぞれサンプルアプリもステップバイステップで開発して細かく使用方法を述べている。だが、これらは特定のフレームワークの使い方であり本書の他の部分で記述されている内容とは異なる内容のようで違和感がある。
著者の意図としては、データの永続化は少し大きなアプリケーションでは当然重要なことになるし、iOS的なアプリケーション開発では、単純に保存するだけではなく多様な方法を考えるべきということなのかもしれない。特にiCloudについては様々な機器の連携が必要なiOSアプリでは重要な選択肢なのかもしれない。
なお、本書はiOS7/Xcode5対応となっており、現在のiOS8/Xcode6よりは古いバージョン向けのものになっています。ですが、述べられている内容は基本的なことがらばかりで決して古い内容ではなく現在でもなんら変わりなく使える技術です。Xcodeのメニューなどの位置は少し変わっているかもしれませんが、4から5ほどの違いはないはずです。
ちなみにここ最近紹介している本は1年前頃に出版された本だと気がついているでしょうか?そう昨年の年末年始あるいは春休み時期に時間をとって勉強しようとしていた本です。1年前はやり気だけあって時間がとれなかったものを今頃になって時間ができたので読み進めている次第です。

