Objective-c-data-storage
Objective-Cのデータストレージ
データの保存と検索は、どのプログラムでも最も重要なものの1つです。 Objective-Cでは、作業が複雑になるため、通常はリンクリストのような構造に依存しません。 代わりに、NSArray、NSSet、NSDictionaryおよびその可変形式などのコレクションを使用します。
NSArrayおよびNSMutableArray
NSArrayはオブジェクトの不変配列を保持するために使用され、NSMutableArrayはオブジェクトの可変配列を保持するために使用されます。
可変性は、実行時に事前に割り当てられた配列を変更するのに役立ちますが、NSArrayを使用する場合、既存の配列のみを置き換え、既存の配列の内容を変更することはできません。
NSArrayの重要なメソッドは次のとおりです。
- alloc/initWithObjects -オブジェクトで配列を初期化するために使用されます。
- objectAtIndex -特定のインデックスでオブジェクトを返します。
- count -オブジェクトの数を返します
NSMutableArrayはNSArrayから継承されるため、NSArrayのすべてのインスタンスメソッドはNSMutableArrayで使用できます。
NSMutableArrayの重要なメソッドは次のとおりです-
- removeAllObjects -配列を空にします。
- addObject -配列の末尾に特定のオブジェクトを挿入します。
- removeObjectAtIndex -これは、特定のインデックスでobjectAtを削除するために使用されます
- exchangeObjectAtIndex:withObjectAtIndex -指定されたインデックスで配列内のオブジェクトを交換します。
- replaceObjectAtIndex:withObject -インデックスのオブジェクトをオブジェクトに置き換えます。
上記のリストは頻繁に使用されるメソッドであり、XCodeの各クラスにジャンプして、これらのクラスのメソッドをさらに知ることができることを覚えておく必要があります。 以下に簡単な例を示します。
プログラムをコンパイルして実行すると、次の結果が得られます。
上記のプログラムでは、可変配列に割り当てた後に文字列を挿入できるNSMutableArrayとNSArrayの単純な区別を見てきました。
NSDictionaryおよびNSMutableDictionary
NSDictionaryはオブジェクトの不変辞書を保持するために使用され、NSMutableDictionaryはオブジェクトの可変辞書を保持するために使用されます。
NSDictionaryの重要な方法は次のとおりです-
- alloc/initWithObjectsAndKeys -指定された値とキーのセットから構築されたエントリで新しく割り当てられた辞書を初期化します。
- valueForKey -指定されたキーに関連付けられた値を返します。
- count -辞書内のエントリの数を返します。
NSMutableDictionaryはNSDictionaryから継承されるため、NSDictionaryのすべてのインスタンスメソッドはNSMutableDictionaryで使用できます。
NSMutableDictionaryの重要なメソッドは次のとおりです-
- removeAllObjects -エントリの辞書を空にします。
- removeObjectForKey -指定されたキーとその関連する値を辞書から削除します。
- setValue:forKey -指定されたキーと値のペアを辞書に追加します。
辞書の簡単な例を以下に示します-
プログラムをコンパイルして実行すると、次の結果が得られます。
NSSetおよびNSMutableSet
NSSetは異なるオブジェクトの不変セットを保持するために使用され、NSMutableDictionaryは異なるオブジェクトの可変セットを保持するために使用されます。
NSSetの重要なメソッドは次のとおりです-
- alloc/initWithObjects -指定されたオブジェクトのリストから取得したメンバーで、新しく割り当てられたセットを初期化します。
- allObjects -セットのメンバーを含む配列、またはセットにメンバーがない場合は空の配列を返します。
- count -セット内のメンバーの数を返します。
NSMutableSetはNSSetから継承されるため、NSSetのすべてのインスタンスメソッドはNSMutableSetで使用できます。
NSMutableSetの重要なメソッドは次のとおりです-
- removeAllObjects -すべてのメンバーのセットを空にします。
- addObject -まだメンバーではない場合、指定されたオブジェクトをセットに追加します。
- removeObject -セットから特定のオブジェクトを削除します。
セットの簡単な例を以下に示します-
プログラムをコンパイルして実行すると、次の結果が得られます。