iOS5プログラミングブック:執筆いたしました
“iOS 4 プログラミングブック”の続編とも言える”iOS 5 プログラミングブック”が間もなく発売されます。今回、縁あって本書の一部を執筆させていただきましたので、簡単ですがご紹介いたします。
iOS 5 プログラミングブックは、iOS 5で追加/強化された機能を中心にまとめた中上級者向けの書籍です。
本書を企画、プロデュースしてくださった@Seasonsさんが全体の紹介をしてくださっているので、こちらも合わせてご覧ください。
上級プログラマー必読の書。iOS5プログラミングブックついに完成!!その目次を公開します。
まずは、目次から。
- iCloud
- Storyboards
- ARC
- Core Image
- Core Bluetooth
- Twitter/Accountsフレームワーク
- iOS 5のセキュリティ
- UIKit
- Misc
iOS 5はかなり大きな進化だったため、すべては網羅できていませんが、ユーザーにとって重要な機能、また、開発者にとって有力なツールは押さえられていると思います。
私はこの中で、3章ARCと8章UIKitの前半にあたるコンテナビューコントローラについて執筆させていただきました。
3章 ARC
3章ARCでは、本ブログでも連載したARCの解説を、さらに分かりやすく詳細にまとめてあります。ARCを使うにあたって最低限知っておくべきことを、丁寧に解説したつもりです。
特に、ARC利用時に問題となりやすい循環参照に関しては、循環参照が起きる原理とその回避策を、サンプルコードと共に示してあります。実際に循環参照が起きている状態での、Leaksによるチェック結果なども掲載してあります。もちろん、Blockによる循環参照についても解説済みです。
また、混乱しがちな3種類のBridgeキャストについても、利用シーンとサンプルを通じて丁寧に解説いたしました。
なお、ダウンロード可能なサンプルプログラムとしては、ARC未対応、ARC対応の同一プロジェクトを公開予定です。サンプルプログラム内で、ARC対応時にケアする必要があるポイントにはコメントを入れてありますので、こちらも合わせて参考にしてみてください。
ARCの利用は、開発効率をかなりあげてくれるものだと思っています。ビューコントローラなどは単純にコード量がずいぶん減りますし、また全体を通してケアレスミスも減らせるでしょう。
こんなに便利なARCを使わない手はないです。基本を押さえるために、ぜひ本書を役立てていただければと思います。
さらに、ARCに関してより詳細まで理解したい方には、「エキスパートObjective-Cプログラミング」がおすすめです。本書では、ARCを安全かつ正確に利用すべきために知っておくべきことを、簡潔にまとめてましたが、「エキスパートObjective-Cプログラミング」では、ARCの原理まで含め、より詳細な解説がなされております。
8章 UIKit: 8-1 コンテナビューコントローラ
8章UIKitは、前半がコンテナビューコントローラ、後半がUIAppearanceとなっています。私が執筆したのは、前半部分のコンテナビューコントローラです。
コンテナビューコントローラとは、複数のビューコントローラをまとめて管理する親ビューコントローラのようなものです。例えば、UITabBarControllerやUINavigationControllerもコンテナビューコントローラにあたります。
iOS 4までは、自前のコンテナビューコントローラを作成するのは非常に手間だったのですが、iOS 5からは開発者が簡単に自前のコンテナビューコントローラを作成できるようになりました。
これによる最大のメリットは、少ないコードの追加/修正で、UIをがらりと変更することができるようになったことでしょうか。
本書内では、チュートリアル的にサンプルアプリを作成することで、コンテナビューコントローラをどのように作り、使っていくのかを解説してあります。
サンプルアプリはあえてユニバーサルアプリとしました。最初にiPhone版のアプリを完成させてしまい、その後、各ビューコントローラとNIBファイルはすべて流用して、UIのみiPad用に拡張していきます。
実際に追加するファイルはコンテナビューコントローラひとつ。変更するファイルは起動時に呼ばれるAppDelegate.mのみ。これだけの変更で、簡単に全く異なるiPad用のUIを追加することができるのです。
サンプルアプリの作成を通じて、ぜひ、コンテナビューコントローラを使うことのメリットを感じ取っていただければと思います。
余談ですが、自作アプリiLoan Calcをユニバーサル対応する際に、自力でコンテナビューコントローラのようなものを実装しました。当時はまだSDK 4を使用していたため、本書で解説したように簡単な実装では済まず、それはそれは苦労したことを覚えています。SDK 5から、開発者が簡単にコンテナビューコントローラを作成できるようになったことで、ユニバーサル化に限らず、UIの変更、拡張が非常に容易になったことは間違いありません。経験者として保証します(笑)。
まとめ
iOS 6がもう目前かもしれませんが、iOS 5で追加になったこれらの機能がなくなるわけではありません。iOS 5で追加になった機能の多くは、近い将来、ユーザにとって当たり前の機能になるでしょう。そのため、私たち開発者は、これらの機能の実装方法を知っておく必要があります。常に最良のアプリを提供していくために、本書を役立てていただければ幸いです。
最後に、本の執筆は今回が初めてでしたが、他の執筆者をはじめ周りの方のサポートもあり、とても楽しく書かせていただくことができました。読者の皆様にも、楽しみながら読んでいただければ嬉しいです。6月8日発売予定です。ただいまAmazonで予約受付中です。