- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想从字典中填充一个选择器,我有一本字典
NSMutableArray* type1names = [NSMutableArray arrayWithObjects:@"--",@"AA",@"AB",@"BA",@"BB",@"BC",@"CB",@"CC",@"CD",@"DC",@"DD",@"FF",nil];
NSMutableArray* type1points = [NSMutableArray arrayWithObjects:@"-",@"4",@"3.7",@"3.3",@"3.0",@"2.7",@"2.3",@"2.0",@"1.7",@"1.3",@"1",@"0", nil];
NSMutableDictionary *type1 = [[NSMutableDictionary alloc] initWithObjects:type1points forKeys:type1names];
初始化是这样的。当我用下面的代码将它们放入字典中时,当我试图取回它们时,就会出现问题。
- (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
YOHAppDelegate *app = [UIApplication sharedApplication].delegate;
NSString *key = [[app.pointsDictionary allKeys] objectAtIndex:row];
return key;
}
他们从字典中无序返回。不是随机的,总是在相同的位置,但没有任何逻辑系统。
有没有办法实现这个,或者我应该为此使用多个数组?
最佳答案
A Hot Licks 说,NSDictionary 不保存顺序。然而Matt Gallagher shows how to create an OrderedDictionary通过子类化 NSMutableDictionary。
另一方面,您应该认真对待他的警告。但某种程度上,他的子类化为我们提供了一个模式,可以在没有子类化的情况下使用:你可以定义一个类,它包含一个字典和一个数组,但继承自 NSObject。定义一个 setObjectForKey:
方法,它转发到 NSDictionary 并将对象添加到数组中(只是,如果它不存在于字典中)。添加方法 objectForKey:
,转发到字典和 objectAtIndex:
,转发到数组。
关于objective-c - 按照他们用 NSDictionary 添加的顺序获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8829119/
这个问题在这里已经有了答案: final keyword in method parameters [duplicate] (9 个回答) 关闭 8 年前。 在此示例中,声明 Object fina
我的目标:是通过我的函数更新字段获取选定值并使用函数输出值运行它。 问题:当我从列表中选择值时,它不会触发函数,也不会更新字段。 感谢您的帮助。 HTML 12 14 16 18 20 22 24
我有一本具有这种形式的字典: myDict = {'foo': bar, 'foobar baz': qux} 现在,我想拆分字典键中的空格,使其成为下一个键并获取值(重复)。 myDictRev1
vector a; vector b; int temp_holder; cout > temp_holder) a.push_back(temp_holder); cout > temp_h
Java 的开发过程中免不了与 Date 类型纠缠,准备总结一下项目经常使用的日期相关操作,JDK 版本 1.7,如果能够帮助大家节约那么几分钟起身活动一下,去泡杯咖啡,便是极好的,嘿嘿。当然,我
我正在使用 jquery ui 日期选择器来获取 fromDate 和 toDate 以下是from日期的代码 $("#from_date").datepicker({
我是一名优秀的程序员,十分优秀!