1

キーが 1 から 11 で、すべて値が 0 のプロパティ リストを作成しました。

リストは、ピッカー ビューのデータソースとして使用されます。

私はこれらのプロパティを持っています:

@property (nonatomic, strong) NSDictionary *erfaring;
@property (nonatomic, strong) NSArray *erfaringKeys;

そしてこれは実装ファイルにあります:

NSString *erfaringFile = [[NSBundle mainBundle]
                         pathForResource:@"Erfaring" ofType:@"plist"];
erfaring = [[NSDictionary alloc] initWithContentsOfFile:erfaringFile];
erfaringKeys = [erfaring allKeys];

問題は、キーがピッカー ビューに読み込まれると、7、3、8、4、11、9、5、1、6、2、10 のように間違って並べ替えられることです。

何か助けはありますか?

4

2 に答える 2

1

辞書のキーを並べ替える必要があります

NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:
                     @"String 1", @"1",
                     @"String 4", @"4",
                     @"String 3", @"3",
                     @"String 2", @"2", nil];

NSArray *sortedKeys = [dic keysSortedByValueUsingSelector:@selector(compare:)];

次に、ソートされたキーを使用して繰り返します

for (NSString *sortedKey in sortedKeys) {
    NSString *value = [dic objectForKey:sortedKey];
}
于 2012-06-28T10:22:16.723 に答える
0

ピッカーにロードする前に配列をソートできます-

erfaringKeys = [erfaring allKeys];
erfaringKeys = [erfaringKeys sortedArrayUsingSelector:@selector(compare:)];
于 2012-06-28T10:20:28.783 に答える