XCTest・NSPredicate・Core Data・ARC・GCDなどについて学べる「レベルアップ Objective-C」

公開日: : 最終更新日:2013/12/20 iOSアプリ開発書籍

     

こんにちは。アキオ(@akio0911)です。

Xcode 5とiOS 7に対応した「レベルアップ Objective-C」という本が出ていたので、早速買って読んでみました!

    

Objective-Cプログラミングの中級者以上が対象

本書では、Xcodeを使ってiOSやOS X向けの簡単なアプリをいくつか作ったことがある、Objective-Cプログラミングの中級者以上を対象としています。

また、すでにXcodeに慣れている方向けにも、最新のXcode 5に搭載された魅力的な機能を紹介しています。

Objective-Cの文法などについては解説していないので、必要な場合は「Xcode 4ではじめるObjective-Cプログラミング 改訂第2版」や「詳解 Objective-C 2.0 改訂版」などを併読すると良いでしょう。

【Kindleなら19%オフ】Xcode 4ではじめるObjective-Cプログラミング 改訂第2版 – 拡張現実ライフ

入門を終えたiOSプログラマにとっては必読 – 書評「詳解 Objective-C 2.0 改訂版」 – 拡張現実ライフ

    

Xcode 5の使い方が詳しく載っている!

本書には、アプリ開発の最新開発環境である「Xcode 5」の使い方が詳しく載っています。

「シンボルナビゲータ」「条件付きブレークポイント」「リファクタリング機能」などは、使ったことが無い方も多いのではないかと思います。

また、Xcode 5から強化された「ユニットテスト機能」「Gitによるバージョン管理機能」などについても解説が載っています。

    

データの検索などに使える「NSPredicate」の解説もあり

配列に格納されたデータの検索などに便利な「NSPredicate」クラスに関する解説が載っています。NSPredicateの説明がのっている本って、実は少ないんですよね。

    

「Core Data」は実際にプロジェクトを作成しながら学べる

データ操作などに使うフレームワークである「Core Data」に関しては、実際にプロジェクトを作りながら学べるような解説が載っています。また、iOSだけでなく、OS Xでの使い方についても載っているのが珍しいかもしれません。

    

iCloudによるデバイス間ファイル共有についても載っている

デバイス間でデータやファイルを共有するのに使える「iCloud」の扱い方についても解説が載っています。OS XとiOSで実際にプロジェクトを作成して、実際にコーディングを行いながら学べる形式になっています。

iCloudはデバイス間での共有に関する仕組みですから、OS Xでの扱い方に関しても載っているのが嬉しいですね。

    

マルチスレッドの章ではBlocks・GCD・オペレーションキュー・タイマについて解説

第6章「マルチスレッド処理をマスターしよう」では、「従来通りのスレッド」「Blocks」「GCD」「オペレーションキュー」「タイマ」などについての解説が載っています。

「ユーザーに待たせない」「ストレスを感じさせない」アプリを作るためにはここら辺の知識が必要となってきますが、本書のようにまとめて解説されている本はなかなかないので、ぜひチェックしておきたいところです。

    

@akio0911はこう思った。

入門を終えた方が、これから中級レベルへ進んでいくための基礎固めができるような内容がまとめて載っている本だと感じました。Xcode 5のユニットテストや、NSPredicate・Core Data・GCDなどについて学びたい方にはピッタリの本だと思います!

この記事の最後に目次を載せておくので、ぜひチェックしてみてくださいね!

    

    

目次

第1章 Xcodeの基本をマスターしよう

1.1 Xcodeについて

1.2 Xcodeの入手方法

1.3 Xcodeの基本の使い方

1.3.1 Xcodeの各部名称
1.3.2 Xcodeを使う基本の流れ9
1.4 Xcodeのナビゲータを使いこなそう

1.4.1 プロジェクト・ナビゲータ
1.4.2 シンボル・ナビゲータ
1.4.3 検索ナビゲータ
1.4.4 その他のナビゲータ
1.5 Xcodeのテキストエディタを使いこなそう

1.5.1 行番号を表示しよう
1.5.2 コード補完を活用しよう
1.5.3 フォールド機能を活用しよう
1.5.4 アシスタントエディタを活用しよう
1.5.5 16進数エディタを活用しよう
1.6 Xcodeプロジェクトの設定

1.6.1 Xcodeで扱う各種ファイル
1.6.2 フレームワークとライブラリの追加方法
1.6.3 既存のファイルの追加方法
第2章 Xcodeを徹底的に活用しよう

2.1 デバッグ徹底マスター

2.1.1 問題が起きたときの対処方法をマスターしよう
2.1.2 デバッグの基本はNSLog()?
2.1.3 ブレークポイントを活用しよう
2.1.4 静的解析
2.2 リファクタリング

2.2.1 リファクタリングって何?
2.2.2 オブジェクト指向開発では名前が命
2.2.3 リファクタリングの基本は名前の修正
2.2.4 コメントについて
2.3 ユニットテスト・ベースの開発

2.3.1 ユニットテストとは?
2.3.2 ユニットテストの利用
2.3.3 XCTestのさまざまなテスト用の関数
2.3.4 継続的インテグレーションのサポートについて
2.4 これで使えるGitのバージョン管理

2.4.1 Gitって何? バージョン管理って何?
2.4.2 Gitを使い始めよう
2.4.3 作業の区切りごとにコミットする
2.4.4 複数個所に変更を加えてみる
2.4.5 以前のバージョンに戻す
2.4.6 GitHubの外部リポジトリを使おう
第3章 データ処理をマスターしよう

3.1 6つの基本のデータ型

3.1.1 数値
3.1.2 NSString(文字列)
3.1.3 NSDate(日付)
3.1.4 NSData(バイナリデータ)
3.1.5 NSArray(配列)
3.1.6 NSDictionary(辞書)
3.2 データ型を組み合わせた表現と検索

3.2.1 レストラン情報の表現
3.2.2 レストラン情報の検索
3.2.3 NSPredicateについて
3.3 コレクションクラスのデータを保存しよう

3.3.1 コレクションクラスのデータの保存
3.3.2 コレクションクラスのデータの読み込み
3.4 コレクションクラス番外編NSOrderedSetで重複を取り除こう

3.5 ファイルはどこに保存する?

3.5.1 Mac OS Xのサンドボックス機能
3.5.2 ファイルの保存場所
3.5.3 ファイルはURLで参照しよう
3.5.4 パスとURLの相互変換
3.5.5 NSURLのファイル関係の操作
3.5.6 URLを保持する場合はファイル参照URLにしておこう(Mac OS Xのみ)
3.6 文字列処理を極めよう

3.6.1 文字列と数値の相互変換
3.6.2 先頭と語尾の文字列チェック
3.6.3 文字列の比較
3.6.4 文字列の読み書き
第4章 データ操作のフレームワークをマスターしよう

4.1 Core Dataによるデータ管理の基礎

4.1.1 Core Dataって何?
4.1.2 Core Dataの用語
4.2 Core Dataの使い方(OS X)

4.2.1 新規プロジェクトの作成
4.2.2 エンティティの追加
4.2.3 エンティティの編集
4.2.4 コントローラの追加
4.2.5 インターフェース部品の追加
4.2.6 アプリケーションの完成
4.2.7 アプリケーション再起動時のデータ読み込み
4.2.8 作り込みのためのヒント
4.2.9 OS Xで利用可能なコントローラ
4.3 Core Dataの使い方(iOS)

4.3.1 新規プロジェクトの作成
4.3.2 最初に実行してみる
4.3.3 エンティティの編集
4.3.4 いったん実行してみる
4.3.5 インターフェース部品の追加
4.3.6 アプリケーションの完成
4.4 iCloudによるデバイス間ファイル共有の基礎

4.4.1 開発者が利用可能な2種類のストレージ
4.4.2 App IDとプロビジョニングプロファイルの用意
4.4.3 iCloud用プロジェクトの設定
4.4.4 iCloud対応アプリのテスト環境について
4.4.5 Key-Valueストレージの利用
4.4.6 ドキュメントストレージの利用
4.5 iCloudによるデバイス間ファイル共有(OS X)

4.5.1 OS XではNSDocumentを使うのが一番簡単
4.5.2 Quick Look のサムネールとプレビューについて
4.6 iCloudによるデバイス間ファイル共有(iOS)

4.6.1 新規プロジェクトの作成
4.6.2 App IDの登録とプロビジョニングプロファイルの作成
4.6.3 Capabilitiesの設定
4.6.4 起動時のセットアップ
4.6.5 UIDocumentのサブクラス作成
4.6.6 ドキュメント追加部のコード
4.6.7 ドキュメント名の表示方法の修正
4.6.8 ドキュメント開閉処理の追加
第5章 メモリ管理をマスターしよう

5.1 最新のメモリ管理技術ARC

5.2 オブジェクトとメモリ

5.3 ARCによるオブジェクト管理

5.3.1 コンパイラによる自動メモリ管理
5.3.2 ARCの基本は変数による参照
5.4 ARCとdealloc

5.5 ARCにおけるオブジェクトの生存期間

5.6 ARCはObjective-Cオブジェクト以外のメモリ管理は行わない

5.7 Core Foundationとのブリッジ(1)

5.8 Core Foundationとのブリッジ(2)

5.9 見守り続けるだけの__weakな変数

5.10 プロパティの参照の強さ

5.11 メソッド引数でポインタのポインタを使う場合

5.12 手動のNSAutoreleasePoolの管理

5.13 ARCで問題が出るパターン

5.13.1 ARCと循環参照
5.13.2 メモリ解放から生存期間決定のメモリ管理へ
5.14 XcodeプロジェクトのARCの利用設定

第6章 マルチスレッド処理をマスターしよう

6.1 GUI時代のマルチスレッドの役割

6.1.1 GUIとマルチスレッドの関係
6.1.2 マルチコア時代のマルチスレッド処理
6.2 Objective-Cのマルチスレッド処理

6.2.1 マルチスレッド処理の種類
6.2.2 従来通りのスレッド
6.2.3 GCD(Grand Central Dispatch)
6.2.4 オペレーションオブジェクト
6.2.5 できればいずれも使わない
6.3 従来通りのスレッド

6.4 Blocks記法(ブロック)

6.4.1 ブロックとBlocks記法について
6.4.2 ローカル変数も参照可能なブロック
6.5 GCDによるマルチスレッド処理

6.5.1 GCDとブロックでマルチスレッド
6.5.2 GCDと共有リソースの保護
6.5.3 GCDと共有リソースの消費
6.5.4 共有リソースの保護
6.5.5 キューは組み合わせて使う
6.5.6 処理終了の待ち合わせ
6.5.7 キューの種類について
6.6 オペレーションキューによるマルチスレッド処理

6.6.1 オペレーションオブジェクトについて
6.6.2 基本の使い方
6.6.3 GCDより優れている点
6.6.4 GCDに劣る点
6.6.5 NSOperationクラスは3種類
6.6.6 キューは1種類
6.6.7 @synchronizedブロックによる保護
6.7 タイマ

6.7.1 タイマの使い方の基本
6.7.2 遅延ありのメソッド呼び出し

引用元 : レベルアップObjective-C:書籍案内|技術評論社

関連記事

サンフランシスコのピア39にあるチャウダーズでクラムチャウダーを食す!

アップルの開発者向けイベント「WWDC2014」に参加するため

ミスドのカルピスドーナツとカルピスポンデリングを食べてみた!

ミスドで期間限定のカルピスコラボ商品「カルピスドーナツ」と「カルピ

十三カレー計画で牛すじカレーネギのせを食す!(大阪・十三)

「iPhoneアプリ開発キャンプ@大阪」のランチで、十三カレー計画

大阪・難波の加寿屋 法善寺でかすうどんを食す。ランチタイムはおにぎり2個まで無料!

大阪・難波の加寿屋 法善寺 (かすうどん KASUYA)で、かす

ライブドアブログで運営していた「あきお商店」を「卵は世界である」に改名しました

少し前からライブドアブログで「あきお商店」というブログをやって

→もっと見る

PAGE TOP ↑