0

我看到一些帖子使用这个 Ordered Dictionary解决方案来保持 NSDictionary 有序。

它以与我从 json 对象获取它的顺序相同的顺序保存它,但是由于我需要使用 UIPickerView 的值,所以我编写了以下内容:

 OrderedDictionary *countryStates = [businessInfo objectForKey:@"allowedStates"];

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
        NSString *stateShort = [countryStates keyAtIndex:row ];
        return [countryStates objectForKey:stateShort];
}

但是,我得到:

[__NSCFDictionary keyAtIndex:]: unrecognized selector sent to instance 
  1. 为什么我会得到它?
  2. 还有什么其他方式可以在不破坏订单的情况下使用 UIPickerView 的有序字典?
4

1 回答 1

2

您会收到此错误,因为与 in 关联的对象@"allowedStates"只是businessInfo一个NSDictionay. 您应该使用OrderedDictionary'+ (id)dictionaryWithDictionary:(NSDictionary *)dict方法创建一个新对象,然后对其进行操作。

于 2013-07-14T18:51:07.690 回答