入門 iOS SDK

―初めてのiPhone/iPadプログラミング

[cover photo]
TOPICS
Mobile
発行年月日
PRINT LENGTH
400
ISBN
978-4-87311-674-7
原書
iOS 7 Programming Fundamentals
FORMAT
PDF EPUB
Ebook
3,300円
Ebookを購入する

iOSプログラミングの入門書。「第I部 C言語とObjective-C言語」「第II部 IDE」「第III部 Cocoa」の三部構成で解説します。第I部では、Objective-C言語およびオブジェクト指向プログラミングについて学びます。第II部では、Xcode開発環境の使い方、nibファイルやストーリーボード、iOSアプリケーションの開発ワークフローについて学びます。第III部では、Cocoaのイベント駆動モデルやデザインパターン、メモリ管理について学びます。本書では、これからiOSプログラミングをはじめる初心者を対象に、iPhoneやiPadのネイティブアプリケーション開発をわかりやすく丁寧に解説します。

翻訳者によるサポートページ

目次

訳者まえがき
まえがき

第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 モデル-ビュー-コントローラ

索引