我创建了一个属性列表,其中包含键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。
任何帮助?
答案 0 :(得分: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];
}
答案 1 :(得分:0)
您可以在加载picker-
之前对数组进行排序erfaringKeys = [erfaring allKeys];
erfaringKeys = [erfaringKeys sortedArrayUsingSelector:@selector(compare:)];