这个网站很棒,我收到了很多回复,所以我试着在此之前对我遇到的问题进行编码
NSMutableArray *sort = [NSMutableArray arraywithArray:[dic allValues]];
for(NSString *s in sort){
[Purchases appendString:[NSString stringWithFormat:@"%@",s]];
}
textview.text = Purchases;
输出的顺序仍然不像我打开Plist文件时那样 另外一个注意事项是,可以在Resources文件夹中编写和打开plist文件,而不是......
感谢您的帮助!
编辑:
2010-02-12 23:54:35 -0500
2010-02-12 23:29:11 - 0500
2010-02-12 23:54:42 - 0500
2010-02-12 23:54:58 - 0500
这就是我得到的订单^^
但是当我打开plist文件时,订单是:
2010-02-12 23:29:11 -0500
2010-02-12 23:54:35 -0500
2010 02-12 23:54:42 - 0500
2010 02-12 23:54:58 - 0500
^^这是我想要的顺序,除了下降
答案 0 :(得分:3)
[dic allValues]
不会以任何可靠的顺序返回密钥。它使用下面的一个集合,这意味着它是无序的。
如果您正在查找同时维护广告订单的词典,请查看CHOrderedDictionary
中{{1}}的一部分。
答案 1 :(得分:2)
根据指定in the documentation,未指定值的顺序。因此,您需要在迭代之前使用NSArray之一的排序方法对键进行排序。
例如,此代码将按升序对字符串值进行排序:
NSArray *sort = [[dic allValues] sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
for(NSString *s in sort){
[Purchases appendString:[NSString stringWithFormat:@"%@",s]];
}
textview.text = Purchases;
请参阅NSArray documentation以了解有关排序数组(选择器,块等)的各种方法。
答案 2 :(得分:1)
我想按降序显示它(最新的日期时间首先)......
然后你需要sort it。你不能指望以任何顺序给你内容的字典,甚至不是你加载或插入它们的顺序。