我意识到NSDictionary中没有特定的值顺序,但在我的情况下,我需要使用setValue保存我添加的顺序:forKey:,就像一个数组.
我怎么能这样做?
任何帮助赞赏.
解决方法@H_419_17@ 字典是哈希映射,以便更快地检索.您无权修改订单.如果要按顺序存储,则应使用数组.
或者你必须使用一些复杂的方法,继续使用键附加一个int orderNumber(你需要在每个setobject / setValue之后增加它).存储和检索:
NSDictionary *dict=[NSDictionary new];Nsstring *key=....;[dict setValue:@"some value" forKey:[Nsstring stringWithFormat:@"%d-%@",orderNumber,key]];
或者,您可以使用每个索引具有一个字典的数组.
另一种方法是使用自定义类
@interface .... @property(...) NSInteger index; @property(...) Nsstring *key; @property(...) ID object; // and methods to retrIEve based on key,based on index etc@end
编辑2:
发现非常类似于我一年前发布的内容,请参阅此OrderedDictionary.
总结以上是内存溢出为你收集整理的cocoa – 有序的NSDictionary全部内容,希望文章能够帮你解决cocoa – 有序的NSDictionary所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)