Objective-C 2.0徹底解説

Objective-C 2.0徹底解説
著者 掌田 津耶乃
ジャンル IT系書籍 > Macintosh
書店発売日 2011/03/25
ISBN 9784798029351
判型・ページ数 B5変・688ページ
定価 3960円
(本体3600円+税10%)
在庫 品切れ・重版未定

この本に関するお問い合わせ・感想

Mac OS X、iPhone、iPadのソフト開発に使われるプログラミング言語「Objective-C 2.0」のビギナー向け入門書です。iPhoneの爆発的ヒットによってMacOSXやiOSの開発を考える人が増えています。しかし、初心者の多くが、C言語とObjective-C、Foundationフレームワーク、さらにその上にあるフレームワークのどこから勉強すればいいのかわかりません。そこで本書では、Objective-Cの本当の意味での入門書を望まれるビギナー向けに、C言語とObjective-Cの基本から、Foundationフレームワークの使い方、iOS開発の導入までを、順番に徹底的に解説しています。初心者が知っておきたい知識がすべてわかります。サンプルプログラムのダウンロードサービス付き。

【サポートはこちら】https://www.shuwasystem.co.jp/support/7980html/2935.html
★Chapter_01 Objective-Cとは?
■01_01 Objective-Cという言語
Objective-Cという言語の歴史
Mac OS XからiOSへ
iOSとObjective-C
Objective-Cの特徴
Objective-Cの開発環境:Xcode
■01_02 Xcodeの準備
Apple Developerに登録する
Xcodeのインストール
インストールされたファイル類
Xcodeを起動する
新規プロジェクトの作成
プロジェクトウィンドウについて
ウインドウ上部の「ツールバー」のアイコンについて
ソースコードファイルとエディタについて
プロジェクトの実行
ビルドされたプログラムがある場所

★Chapter_02 C言語としての基本文法
■02_01 値と変数
サンプルコードを見る
「文」の基本ルール
値について――基本型とオブジェクト型
数値のリテラル
文字のリテラルとエスケープ文字
変数と基本型
基本型の種類
値の演算と代入
複合代入演算子について
インクリメント・デクリメント演算子
定数
値と変数を使う
異なる型の演算
型変換(キャスト)
有効範囲と有効桁数について
オーバーフローとアンダーフロー
printfと変換指定子(変換文字列)
■02_02 制御構文
制御の役割
if-else文
複数条件の連結と論理演算子
switch-case文
while文とdo-while文
break文による構文終了
continue文による繰り返しの継続
for文による繰り返し
構文のネスト
構文と変数のスコープ
■02_03 配列と文字列
配列とは?
初期値を用意する
要素数とsizeof
配列のデータ幅
多次元配列について
バッファオーバーラン
char型と文字列
文字列の構造
標準ライブラリのstrcat関数による文字列操作
文字列を配列にコピーするstrcpy関数
■02_04 ポインタとアドレス
ポインタとは?
ポインタから値を得る
ポインタを使って文字列を保管する
ポインタを使って配列を操作するポインタ演算
■02_05 関数と構造体
main関数再び!
戻り値のない関数
関数から構造体へ
構造体の利用例
構造体を持った構造体
構造体のポインタを利用する
列挙型

★Chapter_03 Objective-Cのオブジェクト指向
■03_01 クラスの基本を理解する
構造化からオブジェクト指向へ
オブジェクト指向の基本的な考え方
Command Line Toolプロジェクトの作成
FoundationフレームワークとCocoaフレームワーク
クラスの作成
.h拡張子と.m拡張子
.hファイルと.mファイルの基本形
インターフェイスの定義
インプリメンテーションの定義
サンプルクラスMyObjectの定義を書く
メソッドの定義
インスタンスの生成とメソッドの呼び出し
オブジェクトを変数に代入する
メッセージ式
allocは「クラスメソッド」
動的結合と静的結合
クラスとメソッドの命名規約
■03_02 クラスの仕組み
引数を持ったメソッド
返値を持ったメソッド
インスタンス変数
初期化処理:initメソッド
インスタンス変数に対する外部からのアクセス権
「アクセサ」メソッドと値の読み書き
メソッドの「オーバーロード」
オーバーライドによる機能の変更
■03_03 クラスの詳細を見る
クラスメソッド
「クラス変数」とグローバル変数
クラスはオブジェクトか?
Classはクラスオブジェクトの型である
抽象クラス
抽象クラスに代わる「クラスクラスタ」
■03_04 カテゴリ――メソッドの追加によるクラスの拡張
カテゴリとは?
カテゴリを利用してクラスの機能を強化する
■03_05 プロトコル――メソッドの「一覧表」
プロトコルとは?
プロトコルの宣言と実装
プロトコルを持っているか確認するconformsToProtocol:
必須メソッドとオプションメソッド
オプションメソッドの有無をチェックするrespondsToSelector:
@selectorによるセレクタの指定
■03_06 ガベージコレクションとメモリ管理
オブジェクト管理とは?
ガベージコレクションとは?
ガベージコレクションは何を削除するのか?
ガベージコレクションの動作
回収されるオブジェクトとnil参照
ガベージコレクションの強制的な始動
■03_07 オートリリースによるメモリ管理
オブジェクトのオートリリースとは?
オートリリースしないオブジェクトの混在
オートリリースとコンビニエンスコンストラクタ
■03_08 リファレンスカウンタによるメモリ管理
リファレンスカウンタとは?
リファレンスカウンタの使用例
リファレンスカウンタの動きを確認する
オートリリース時のリファレンスカウンタの動き
ガベージコレクション時のリファレンスカウンタ

★Chapter_04 Foundationフレームワークの基本
■04_01 NSObjectとObjective-C独自の型・値
FoundationとAppKit
NSObjectとルートクラス
NSObjectのインスタンスメソッド
NSObjectのクラスメソッド
Objective-Cで用いる定義済みの型
Objective-Cで用いる値のクラス
■04_02 NSStringによるテキスト処理
テキストとNSStringクラス
initWithFormat:によるフォーマット済みNSStringの生成
フォーマット記述子
ファイルから読み込んでNSStringを生成するinitWithContentsOfFile:encoding:error:
URLを指定してテキストを取得するinitWithContentsOfURL:encoding:error:
NSStringテキストをファイルに出力する
テキストを結合するstringByAppendingString:
フォーマットしてNSStringインスタンスを結合するstringByAppendingFormat:
charポインタとNSStringの変換
NSStringEncodingについて
NSStringから基本型への変換
空白文字の削除(stringByTrimmingCharactersInSet:)とNSCharacterSet
NSStringの比較(isEqualToString:およびcompare:)とテキスト長(length)
大文字・小文字の操作
テキストの抽出
テキストの分割
テキストを検索するrangeOfString:
テキストの置換
行と段落の区切り
■04_03 NSMutableStringによる可変長テキストの処理
NSMutableStringの基本と仕組み
NSMutableString型オブジェクトに対するテキストの挿入と削除
NSMutableStringの置換
NSStringか、NSMutableStringか――使い分けのポイント
■04_04 NSScannerによるテキストスキャン
NSScannerの基本と仕組み
NSScannerの主なメソッド
■04_05 数値と日付のクラス
NSNumberのメソッド群
NSNumberから数値を取り出すメソッド群
NSNumberの値の比較――compare:とisEqualToNumber:
■04_06 NSDecimalNumberとBCD
10進数を処理するNSDecimalNumber
NSDecimalNumberによる演算
■04_07 NSNumberFormatterによる数値のフォーマット
NSNumberFormatterの基本と仕組み
数値フォーマットの記号を変更する
■04_08 NSDateによる日時の扱い
dateメソッドによるNSDateインスタンスの生成
NSDateインスタンスの作成と日時設定
指定した日時からの経過秒数でNSDateを得るメソッド
日時の比較
2つの日時の差を求める
NSDateに時間を加算する
日時をフォーマットするNSDateFormatterクラス
■04_09 カレンダー用クラスNSCalendar
NSCalendarの基本と仕組み
NSDateComponentsで利用可能な要素
NSDateComponentsを利用した日時計算

★Chapter_05 コレクションクラス
■05_01 配列とNSArray
配列とNSArray
NSArrayの作成
NSArrayに保管するオブジェクトに関するメソッド
インデックスセットのクラス――NSIndexSet
NSMutableIndexSetによるインデックスセットの作成
NSArrayにオブジェクトを追加する
sortedArrayUsingSelector:による配列のソート
ソート用メソッドとNSComparisonResult
独自に定義したクラスをsortedArrayUsingSelector:で並べ替える
■05_02 NSMutableArray
NSMutableArrayについて
NSMutableArrayからオブジェクトを削除するメソッド群
■05_03 ブロックとイテレータ
ブロックとは?
sortUsingComparatorとNSComparator
ブロックの書き方
NSEnumeratorとイテレータ
Objective-C 2.0の「高速列挙」――イテレータ用に拡張されたfor文
enumerateObjectsUsingBlock:によるイテレータ時のブロック処理
■05_04 NSArrayを更に活用する
NSPredicateによるフィルタリング
NSPredicateのフォーマット
NSPredicateのフォーマット要素
NSArrayのファイルアクセス
NSArrayを使った簡易データ管理プログラム
■05_05 集合を扱うコレクションクラス ――NSSetとNSMutableSet
コレクションクラスの分類
NSSetによる「集合」――重複と順序のないデータ構造
NSSetへのオブジェクトの追加
NSSet要素の取得
NSMutableSet
NSSetどうしの集合演算
追加された回数を記憶するNSCountedSet
■05_06 NSDictionaryとキー値コーディング
NSDictionaryとは?
ファイル・URLからNSDictionaryを生成する
特定要素の取得――objectForKey:とobjectsForKeys:notFoundMarker:
NSDictionaryの全要素を処理するメソッド群
NSEnumeratorによるイテレータ
ブロックを利用したNSEnumerator処理
保管データを編集できるNSMutableDictionary
NSMutableDictionaryを使った簡易データ管理
NSSortDescriptorを使ったNSDictionary配列のソート
「弱い参照」に対応するNSHashTableとNSMapTable
弱い参照の働きを確認する
■05_07 NSData、NSMutableData、NSValue
バイナリデータを扱うNSData
NSMutableDataによるバイナリデータの編集
NSValueによる値のラッピング

★Chapter_06 ファイル・初期設定・シリアライズ
■06_01 NSFileManagerによるファイルとデータの操作
NSFileManagerの基本
NSStringでパスを生成する
NSStringでパスを取得するメソッド群
NSStringのパス関連機能の一覧
NSFileManagerによるファイルのコピー、移動、削除
NSFileManagerによるファイル・フォルダの作成
ファイルの存在やアクセス権のチェック
リンクの作成
ディレクトリ内にあるファイルを調べる
NSDirectoryEnumeratorによるディレクトリ操作
カレントディレクトリの移動
ファイル属性を調べる
ファイル、フォルダ、ファイルシステムの属性を表す定数
■06_02 ユーザーデフォルトとプロパティリスト
ユーザーデフォルトとNSUserDefaults
NSUserDefaultsの基本的な使い方
NSUserDefaultsによる初期設定の基本処理
保存された設定ファイルを確認する
「ドメイン」について
プロパティリストとNSPropertyListSerialization
NSPropertyListSerializationによるファイル出力
NSPropertyListSerializationによるファイルからの読み込み
■06_03 プロパティ・エンコード・シリアライズ
独自クラスのシリアライズについて
シリアライズする前に解決が必要な問題群
プロパティの作成
MyObjectにプロパティを実装する
シリアライズを行うNSCodingプロトコルの実装
NSUserDefaultsのカテゴリによる拡張
NSKeyedArchiverおよびNSKeyedUnarchiverについて
MyObjectを初期設定に保存する
汎用的なプロパティリストへの保存
複数のオブジェクトを保存する
ファイルからオブジェクトを復元する

★Chapter_07 エラー処理・URLローディング・マルチスレッド
■07_01 例外処理構文とNSError
2つのエラー処理の仕組み
■07_02 例外処理構文(@try構文)
@try構文の基本形
例外処理構文を利用する
nameプロパティで例外の種類に対応
NSExceptionインスタンスの作成と送信
独自クラスに例外を組み込む例
複数の@catchによる例外の捕捉
独自クラスを例外処理する例
例外クラスを使わない例外処理(@throw)
■07_03 NSError
NSErrorによるエラーチェックの例
NSErrorの主な機能
NSErrorを受け渡すメソッドの定義
独自クラスから渡されるNSErrorの処理
■07_04 URLローディング
NSURLとURLアドレスの基本的な使い方
NSURLのインスタンス作成
NSURLからURLの情報を得るメソッドの一覧と使用例
NSURLによるアドレスの編集
NSURLConnectionによるアクセス(同期通信)の仕組み
NSURLRequestのメソッド
NSURLConnectionのインスタンス生成
NSURLConnectionのメソッド
■07_05 デリゲートと非同期通信
デリゲートとは?
NSURLConnectionのデリゲート・メソッド
デリゲートクラスの定義方法
非同期通信を行う
NSHTTPURLResponseとレスポンス情報
NSURLDownloadによるダウンロード
指定したファイル名でダウンロードする
アップロードされたファイル名のままダウンロードする
■07_06 タイマー
NSTimerとタイマー
タイマー用クラスの作成例
NSTimerを実行させる
NSTimerのスケジューリング
タイマーと実行クラスの統合
NSInvocationとは?
NSMethodSignatureとは?
MyTimerObjectクラスを実装する
■07_07 マルチスレッド
マルチ「スレッド」とは?
NSThreadクラスによるマルチスレッドの実行
別スレッドで実行するクラスの作成例
NSRunLoopによる実行ループの役割
@synchronizedによる排他的処理
■07_08 ロック
NSLockによるスレッドのロック

★Chapter_08 GUIアプリケーションの開発
■08_01 UIKitとiOS
AppKitとUIKit
アプリとMVC構造
プログラムの起動からの流れ
プロジェクトの作成
プロジェクトファイルの構成
main関数の処理
UIApplicationDelegateによるデリゲート
デリゲートメソッドの実装
UIViewを制御するUIViewControllerの用意
Interface Builderの起動
2つのnibファイルに用意される要素
GUI部品を作成する
GUIとアウトレットとのバインド
プロパティとメソッドの実装
デフォルト以外のイベントの割付け
■08_02 主なUIクラスの利用
UISwitchによるON/OFF入力
Segmented Controlによる複数選択
コントロールの動的生成
コントロールへの動的イベント・バインド
「Interface Builderを使用しない」アプリの作成
UIApplicationクラスの作成
■08_03 Core Graphics
iOSの画面表示
UIViewクラスの作成
drawRect:メソッドの処理
図形作成と描画の関係
イメージの描画
2つの座標系
2つの座標空間
座標空間の変換
UIViewの座標そのものを変換する
オフスクリーンバッファ
オフスクリーンを使った描画プログラムの例

ご注文

シェアする

このエントリーをはてなブックマークに追加

同じジャンルの商品

お知らせ

一覧