目次
第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 遅延ありのメソッド呼び出し