iOSプログラミングの入門書。「第I部 C言語とObjective-C言語」「第II部 IDE」「第III部 Cocoa」の三部構成で解説します。第I部では、Objective-C言語およびオブジェクト指向プログラミングについて学びます。第II部では、Xcode開発環境の使い方、nibファイルやストーリーボード、iOSアプリケーションの開発ワークフローについて学びます。第III部では、Cocoaのイベント駆動モデルやデザインパターン、メモリ管理について学びます。本書では、これからiOSプログラミングをはじめる初心者を対象に、iPhoneやiPadのネイティブアプリケーション開発をわかりやすく丁寧に解説します。
翻訳者によるサポートページ。
入門 iOS SDK
―初めてのiPhone/iPadプログラミング
Matt Neuburg 著、武舎 広幸、阿部 和也、河村 政雄 訳
- TOPICS
- Mobile
- 発行年月日
- 2014年06月
- PRINT LENGTH
- 400
- ISBN
- 978-4-87311-674-7
- 原書
- iOS 7 Programming Fundamentals
- FORMAT
- PDF EPUB
目次
訳者まえがき まえがき 第1部 C言語とObjective-C言語 1章 Objective-C習得のためのC言語入門 1.1 コンパイル、文、コメント 1.2 データの型と変数 1.2.1 型と宣言 1.2.2 enum型 1.2.3 Cの文字列 1.3 構造体 1.4 ポインタ 1.4.1 ポインタの宣言 1.4.2 ポインタとObj-Cのオブジェクト 1.4.3 void* 1.5 配列 1.6 演算子 1.6.1 算術演算子 1.6.2 ビット単位の演算 1.6.3 代入 1.6.4 三項演算子 1.7 フロー制御と条件 1.7.1 if文とswitch文 1.7.2 ループとgoto文 1.7.3 条件の条件 1.8 関数 1.9 ポインタ引数とアドレス演算子 1.9.1 アドレス演算子 1.9.2 sizeof演算子 1.10 ソースファイルの構成 1.11 標準ライブラリ 1.12 その他のプリプロセッサディレクティブ 1.13 データ型の修飾子 2章 オブジェクト指向プログラミング 2.1 オブジェクト 2.2 メッセージとメソッド 2.3 クラスとインスタンス 2.4 クラスメソッド 2.5 インスタンス変数 2.6 オブジェクト指向の「哲学」 2.7 この章のまとめ 3章 Objective-Cのオブジェクトとメッセージ 3.1 オブジェクトの参照はポインタ 3.1.1 インスタンスの参照、初期化、nil 3.1.2 インスタンスの参照と代入 3.1.3 インスタンスの参照とメモリ管理 3.2 メッセージとメソッド 3.2.1 メソッドの呼び出し 3.2.2 メソッドの宣言 3.2.3 メソッド呼び出しの入れ子 3.2.4 オーバーロードの禁止 3.2.5 引数リスト 3.3 メッセージ送信のエラー 3.3.1 nilへのメッセージ送信 3.3.2 認識できないセレクタ 3.4 型変換とid型 3.5 データ型としてのメッセージ 3.6 C言語の関数 3.7 CFTypeRefs 3.8 ブロック 4章 Objective-Cのクラス 4.1 クラスとスーパークラス 4.2 インタフェース部と実装部 4.3 ヘッダファイルと実装ファイル 4.3.1 @class 4.3.2 ヘッダファイルにおける定数の定義 4.4 クラスメソッドの利用 4.5 クラスの「一生」 5章 Objective-Cのインスタンス 5.1 インスタンスの生成 5.1.1 レディーメードのインスタンス 5.1.2 ゼロから生成されるインスタンス 5.1.3 nibを用いて生成されるインスタンス 5.2 ポリモーフィズム(多態性) 5.3 self 5.4 super 5.5 インスタンス変数とアクセッサ 5.6 キー値コーディング 5.7 プロパティ 5.8 イニシャライザの書き方 第2部 IDE 6章 Xcodeプロジェクト 6.1 新規プロジェクトの作成 6.2 プロジェクトウィンドウ 6.3 ナビゲータペイン 6.3.1 プロジェクトナビゲータ(+1) 6.3.2 シンボルナビゲータ(+2) 6.3.3 検索ナビゲータ(+3) 6.3.4 イシューナビゲータ(+4) 6.3.5 テストナビゲータ(+5) 6.3.6 デバッグナビゲータ(+6) 6.3.7 ブレークポイントナビゲータ(+7) 6.3.8 ログナビゲータ(+8) 6.4 ユーティリティペイン 6.4.1 ユーティリティペインの上側 6.4.2 ユーティリティペインの下側 6.5 エディタペイン 6.5.1 ジャンプバー 6.5.2 複数ファイルの同時表示やペインの分割 6.6 プロジェクトを構成するファイル 6.6.1 ファインダ上のファイルとの対応 6.6.2 フレームワーク(Frameworks) 6.6.3 プロダクト(Products) 6.7 ターゲット 6.7.1 ビルドフェーズ(Build Phases) 6.7.2 ビルド設定(Build Setting) 6.7.3 構成 6.7.4 スキームとデスティネーション 6.7.5 名前の変更 6.8 プロジェクトからアプリへ 6.8.1 アプリバンドル(app bundle) 6.8.2 ビルド設定 6.8.3 プロパティリストファイル 6.8.4 nibファイル 6.8.5 その他のリソース 6.8.6 コードとアプリの起動プロセスの関係 6.8.7 フレームワークとSDK 7章 nibファイル 7.1 nibエディタ 7.1.1 ドキュメントアウトライン 7.1.2 キャンバス 7.1.3 インスペクタとライブラリ 7.2 nibのロード 7.2.1 ストーリーボードからビューコントローラがインスタンス化される場合 7.2.2 nibからのビューコントローラのメインビューをロードする場合 7.2.3 コードによるnibファイルのロード 7.3 アウトレットとnibのオーナー 7.4 アウトレットの作成 7.5 アウトレットの構成に関する注意 7.5.1 接続の削除 7.5.2 その他のアウトレットの作成方法 7.5.3 アウトレットコレクション 7.6 アクション接続 7.7 nibベースのインスタンスに関する追加的な初期化 8章 ドキュメント 8.1 ドキュメンテーションウィンドウ 8.2 クラスに関するドキュメント 8.3 サンプルコード 8.4 その他のリソース 8.4.1 クイックヘルプ 8.4.2 シンボル 8.4.3 ヘッダファイル 8.4.4 インターネット上のリソース 9章 開発の流れ 9.1 デバイスの選択 9.2 バージョン管理 9.3 コードの編集 9.3.1 自動補完 9.3.2 スニペット 9.3.3 ライブ構文チェックとFix-it 9.4 コードのナビゲート 9.4.1 ナビゲータペインとエディタペインを使った移動や表示 9.4.2 エディタレベル検索 9.4.3 Jump to Definition 9.4.4 Open Quickly 9.4.5 ブレークポイント 9.5 シミュレータでの実行 9.6 デバッグ 9.6.1 コンソールデバッグ 9.6.2 Xcodeデバッガ 9.7 クリーニング 9.8 ローカライズ 9.8.1 アプリ名のローカライズ 9.8.2 nibファイルのローカライズ 9.8.3 コード中の文字列のローカライズ 9.9 ユニットテスト 9.10 静的アナライザ 9.11 デバイスでの実行 9.12 デバイス管理 9.13 Instruments 9.14 配布 9.15 アドホック配布 9.16 最終的なアプリの準備 9.16.1 アプリのアイコン 9.16.2 その他のアイコン 9.16.3 起動画像 9.16.4 スクリーンショット 9.16.5 プロパティリストの設定 9.17 App Storeへの提出 第3部 Cocoa 10章 Cocoaのクラス 10.1 サブクラスの作成 10.2 カテゴリ 10.2.1 カテゴリの定義 10.2.2 カテゴリを使ったクラスの分割 10.2.3 クラスエクステンション 10.3 プロトコル 10.3.1 非形式プロトコル 10.4 オプションのメソッド 10.5 Foundationクラス 10.5.1 頻繁に使われる構造体と定数 10.5.2 NSStringと関連クラス 10.5.3 NSDateおよび関連クラス 10.5.4 NSNumber 10.5.5 NSValue 10.5.6 NSData 10.5.7 比較 10.5.8 NSIndexSet(インデックスセット) 10.5.9 NSArrayとNSMutableArray 10.5.10 NSSetと関連クラス 10.5.11 NSDictionaryとNSMutableDictionary 10.5.12 NSNull 10.5.13 イミュータブルとミュータブル 10.5.14 プロパティリスト 10.6 NSObject 11章 イベント 11.1 イベントの種類 11.2 サブクラス化 11.3 ノーティフィケーション(通知) 11.3.1 組み込みのノーティフィケーションの受信 11.3.2 登録解除 11.3.3 ノーティフィケーションのポスト 11.3.4 NSTimer 11.4 デリゲーション 11.4.1 Cocoaのデリゲーション 11.5 データソース 11.6 アクション 11.7 レスポンダチェーン 11.7.1 処理の先送り 11.7.2 nilターゲットのアクション 11.8 イベントに溺れる 11.9 遅延実行 11.10 アプリケーションのライフタイムイベント 12章 アクセッサとメモリ管理 12.1 アクセッサ 12.2 キー値コーディング(KVC) 12.2.1 KVCとアウトレット 12.2.2 キーパスと配列アクセッサ 12.3 メモリ管理 12.4 Cocoa流メモリ管理の原則 12.5 メモリ管理の黄金律 12.5.1 ARCの役割 12.5.2 Cocoaオブジェクトのメモリ管理 12.5.3 オートリリース(自動解放) 12.5.4 インスタンス変数のメモリ管理(ARC不使用の場合) 12.5.5 インスタンス変数のメモリ管理(ARC使用時) 12.5.6 循環保持と弱い参照 12.5.7 特殊なメモリ管理状況 12.5.8 nibの読み込みとメモリ管理 12.5.9 大域変数のメモリ管理 12.5.10 コンテキスト情報(void*型)のメモリ管理 12.5.11 CFTypeRefのメモリ管理 12.6 プロパティ 12.6.1 プロパティのメモリ管理方針 12.6.2 プロパティ宣言構文 12.6.3 プロパティのアクセッサの自動生成 12.6.4 動的アクセッサ 13章 オブジェクト間の通信 13.1 インスタンス化による可視性 13.2 関係による可視性 13.3 グローバルな可視性 13.4 ノーティフィケーション 13.5 キー値監視 13.6 モデル-ビュー-コントローラ 索引