表格视图从 NSDictionary 加载,但不按字母顺序
Posted
技术标签:
【中文标题】表格视图从 NSDictionary 加载,但不按字母顺序【英文标题】:Table view loads from NSDictionary, but not alphabetically 【发布时间】:2010-12-28 08:18:17 【问题描述】:我对编程很陌生,但现在正在尝试使用表格视图应用程序。我使用了一些sn-ps,但效果很好。我似乎无法弄清楚如何按字母顺序加载我的表格视图,因为这样看起来好多了。导航有四个级别,前两个是表视图。所有数据都存储在带有字典的 plist 文件中。我包括了代码。我觉得我错过了一些非常明显的东西,但我似乎无法找出它是什么!谁能帮我?在此先感谢您的时间!
- (void)viewDidLoad
// Create the table view data source array from the dictionary property
tableViewData = [[dataForCurrentLevel allKeys] retain];
【问题讨论】:
【参考方案1】:请仔细阅读@VdesmedT 的回答。只需在将数组传递给 tableview 之前对其进行排序:
- (void)viewDidLoad
// Create the table view data source array from the dictionary property
tableViewData = [[[dataForCurrentLevel allKeys] sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)] retain];
【讨论】:
【参考方案2】:使用 sortDescriptor 对数组进行排序
【讨论】:
【参考方案3】:NSDictionaries 是哈希表,因此键实际上是使用它们的哈希排序的。
例如,您需要使用 sortedArrayUsingSelector:
手动对结果数组进行排序,但 NSArray 类中还有很多其他方法。
【讨论】:
谢谢,这实际上解释了很多!以上是关于表格视图从 NSDictionary 加载,但不按字母顺序的主要内容,如果未能解决你的问题,请参考以下文章
我的 NSDictionary 在我的 IBAction 中变为零