キー - >値の保存だけでなく、配列のようにkey
シーケンスをサポートするNSDictionary
オブジェクトが必要です。注文サポートでNSDictionaryを作成
Objective-Cには何かが存在しますか?
キー - >値の保存だけでなく、配列のようにkey
シーケンスをサポートするNSDictionary
オブジェクトが必要です。注文サポートでNSDictionaryを作成
Objective-Cには何かが存在しますか?
これを行うには、Monoloの答えが正しいです。
[self allKeys]
は、順序付きシーケンスを返しません。それはNSSet
スタイルです。
そして、私は多くの機能を持っていPLHash
という名前のクラスを記述します。
ここでは、URL https://github.com/xhan/PlutoLand/blob/master/PlutoLand/Additions/PLHash.h
です何も組み込まれていませんが、辞書の横にあるキー配列を使用して注文を記録できます。
私はこの記事を発見した(とリンクされたソースコード)便利:http://cocoawithlove.com/2008/12/ordereddictionary-subclassing-cocoa.html
あなたは最高のオフになるのいずれかallkeys配列を取得し、キーの値を取得したり、独自のクラスを作ることは格納することをソートあなたが望む方法でオブジェクトを使用できます。 NSDictionaryが実際にビルドされていないものをやっているような気がしますが、キーをソートするために何をしようとしていますか?
1つのオプションは、nsdictionaryにカテゴリを作成することです。sortedKeysか何かを呼び出すと、ソートされた[self allKeys]が返されます。
更新:今、私は自分の携帯電話からの応答していないよという、ここでは、わかりやすくするために冗長に書かれた、私の提案だとあなたは、ARC使用していると仮定すると:
@interface NSDictionary (sort)
- (NSArray *)sortedKeys;
@end
@implementation NSDictionary (sort)
- (NSArray *)sortedKeys {
NSArray *keyArray = [self allKeys];
NSArray *sortedKeyArray = [keyarray sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
return sortedKeyArray;
}
@end
を私は個人的にNSDictionaryのをサブクラス化とは思いません行く道です。