Objective-C 基礎(10)- Objective-Cの配列




§1 C言語の配列

Objective-Cの配列の前にC言語における配列を簡単に紹介しておきます。これはC言語を知っていればおなじみなので細かい説明は省きます。

【1次元の配列】
●配列の宣言(要素数でサイズを指定)

●インデックスを指定して値をセットする

●宣言と同時に値もセットする

【多次元の配列】
●配列の宣言(要素数でサイズを指定)

●インデックスを指定して値をセットする

●宣言と同時に値もセットする

§2 Objective-Cの配列

Objective-Cで配列を扱う場合に便利なクラスがNSArrayクラスとNSMutableArrayクラスです。NSArrayクラスは配列の内容が変更できないのに対してNSMutableArrayクラスは配列の内容を変更することができます。

[NSArrayクラスの使用方法]
●配列の生成
arrayWithObjectsメソッドはインスタンスの生成から初期化までを行ってくれるメソッドです。配列に保持させたいオブジェクトを引数として渡します。配列の最後には必ずnilをセットする必要があります。これにより配列の終端が認識されます。後述のNSMutableArrayクラス、NSDictionaryクラス、NSMutableDictionaryクラスについても同様です。

●配列の要素数を取得する
countメソッドにより配列の要素数を取得することができます。

●配列の要素を取り出す
objectAtIndexメソッドにインデックスを指定して値を取り出しています。

lastObjectメソッドにより配列の最後の要素(nilの一つ前の要素)を取り出しています。

subarrayWithRangeメソッドにより範囲指定して新たな配列として取り出しています。範囲はNSRangeにて指定します。

●指定した要素のインデックスを取得する
indexOfObjectメソッドにオブジェクトを渡して、そのオブジェクトのインデックスを取得しています。オブジェクトが含まれていない場合はNSNotFoundという定数が返ります。

●指定した要素が配列に含まれているかを判定する
containsObjectメソッドにオブジェクを渡して、そのオブジェクトが配列に含まれているかを判定しています。trueまたはfalseが返ります。

●2つの配列を比較する
isEqualToArrayメソッドに配列を渡して、2つの配列の中身が同一かどうかを判定しています。trueまたはfalseが返ります。

[NSMutableArrayクラスの使用方法]
●配列の生成、配列要素数の取得、配列要素の取り出し
NSMutableArrayはNSArrayのサブクラスなので、配列の生成、配列要素数の取得、配列要素の取り出し、配列要素の存在確認やインデックスの取得などの基本的な処理はすべてNSArrayのメソッドを使うことができます。

●空の可変配列を生成する

●固定の配列をコピーして、可変の配列を生成する
固定の配列fixedArrayをmutableCopyメソッドにて可変の配列を作成しています。

●配列の要素を追加する
addObjectメソッドにて配列にオブジェクトを追加しています。

●配列の要素を挿入する
insertObject:atIndexメソッドにて指定のオブジェクトを指定インデックスの位置に挿入しています。

●配列の要素を置換する
replaceObjectAtIndex:withObjectメソッドにて指定インデックスの位置にあるオブジェクトを指定のオブジェクトに置き換えています。

●配列の要素を削除する
removeObjectAtIndexメソッドにて指定インデックスのオブジェクトを削除しています。

removeObjectメソッドにて指定のオブジェクトを削除しています。

Objective-C 基礎 目次

以下の記事も参考にして頂ければと思います。
Objective-C 基礎(1)- Xcodeのインストールとプロジェクトの作成
Objective-C 基礎(2)- Objective-Cの概要とメソッドの呼び出し
Objective-C 基礎(3)- クラス定義の方法
Objective-C 基礎(4)- クラスの使い方
Objective-C 基礎(5)- クラスメソッドとインスタンスメソッド
Objective-C 基礎(6)- 変数のスコープとプロパティ
Objective-C 基礎(7)- 変数のデータ型
Objective-C 基礎(8)- 文字列とNSStringクラス
Objective-C 基礎(9)- 可変文字列とNSMutableStringクラス
Objective-C 基礎(10)- Objective-Cの配列
Objective-C 基礎(11)- Objective-Cの連想配列
Objective-C 基礎(12)- ループ処理
Objective-C 基礎(13)- プロトコル


シェアして頂けると嬉しいです

















チャーム本店



価格.com ブロードバンド

価格.com 自動車保険









■コメントはお気軽にどうぞ