レベルアップ Objective-C 上手く、早く作業するためのテクニック集

iPhoneアプリ開発

レベルアップObjecrive-C

この本は中級者向けの本となっており、簡単なアプリケーションをいくつか書いたことのある人が対象となっています。
私自身もこれまで2本のアプリをリリースし、つい最近までもアプリ作成を行っていました。
本は何冊か買っているのですが、そのなかでもとても有益だったのでこちらを紹介いたします。

またAppleは新言語であるSwiftのリリースを予定しており、今後iOS、Mac等のアプリケーションはそちらに移行していくと思われますが、効率のよい開発方法、考え方を身につけるという意味でもこちらを読んでおいて損は無いと思います。

それではいいなと思った点を幾つかご紹介。

Xcodeの使い方、デバッグ方法

コードを書くための道具であるXcodeですが、初心者本にはそんなに多くのことは触れられていません。導入の仕方を紹介した終わりくらいのものが多いと思います。
この本で表示されているアイコンの意味や使用方法、それに対応したショートカットキーなど、効率的に開発する際に役立つ情報が多く記載されています。
デバッグについてもNSLogでログ出力して確認するという手段ももちろんありますが、リリース時に記載が残ったりしたりします。それを防ぐためにマクロを書いてデバッグ時のみの出力にしたり、Xcode上で特定条件時にのみブレイクポイントで止まるようにしたりと、細かな事が書かれています。
独学でiPhoneアプリ開発を始めた場合、このあたりの道具についての理解に時間が取れなかったり、知らないままだったりすることが多いです。そこを補って開発効率を上げるのにとても役立ちました。

単体テストコードの書き方、GitHubでのコード管理

いずれも記載量は多くありません。しかしこれをキッカケに各自で知識を深めていくには良いのではないかと思いました。
単体テストについてはテストコードの導入の仕方、簡単なテストコードメソッドの紹介といった感じで、テストケースの洗い出しについては記載されていません。そこまで語ると別の本ができてしまうため、ここでは割愛。しかし、全くわからなかった領域を少し知れたので非常に役立ちました。
コードの管理についても同様。Xcodeは標準でgitを使って管理します。git自体も非常に深く、最終的にどのような開発手法(ブランチ運用)になるかに行き着くと思いますが、ここではあくまでGitHubを外部リポジトリにしてコードを管理しましょうという程度にとどまっています。本の中でも記載されていますが、個人開発レベルであればこれで十分だと思います。キッカケをもらうという点については非常に良かったと思いました。

メモリ管理、マルチスレッド処理

プログラム開発においてメモリ内の状態をイメージすることは大事。特にObjective-Cは数年前までプログラマがメモリの開放コードを自分で記載する必要がありました。そこで導入されたのがARCですが、ARCを含め、メモリ管理の動きを完結にまとめられています。よいメモリの使用量を抑えてたよいプログラムを書くためには少しずつ学習していかなければならない部分。何度か見返して自分のものにしていきたい所です。

また並列処理も重要な部分。UIの更新はメインスレッドで行うという原則があるため、重たい処理をサブスレッドを作成してそちらで実施する必要があるのですが、その方法がマルチスレッドの章で書かれています。
初心者向けの本だとこの辺りの記載は当然のように無く、おなじみのUI(例えばくるくる回るインジケーターを表示して裏で処理をさせてその後に画面更新を行う)等が再現出来ません。アプリのレベルを上げるには必ず必要な部分なのでいつでも使えるようにしなければならない部分です。

まとめ

Objective-Cに依存しないような部分を中心に記載しました。他にもデータの扱い方、永続化などの項目があり、他の本では余り扱わない部分が記載されています。最初見た時に、あまり役立たないのかもなと思いましたが、読めば読むほど、アプリを開発を続けていくほどに役立つ箇所が見えてくるようになってきました。
開発と本の読み込みを交互に続けていくと知識が定着していくように思います。開発のレベルをあげるにはとても有効な本です。オススメです。