【发布时间】:2017-01-22 23:25:05
【问题描述】:
我有一个 .plist 文件,其中包含根字典并将字母键加载为:
["A": ["AXB", "ACD", "ABC"], ... ]
应该是这样的:
["A": ["ABC", "ACD", "AXB"], ... ]
然后,我想对这个数组的 A 索引项进行排序。所以,我试着这样做:
class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
var musicalGroups : NSDictionary = NSDictionary()
var keysOfMusicalGroups : NSMutableArray = NSMutableArray()
override func viewDidLoad() {
super.viewDidLoad()
let bundle = Bundle.main
let path = bundle.path(forResource: "bandas", ofType: "plist")
musicalGroups = NSDictionary(contentsOfFile: path!)!
keysOfMusicalGroups = NSMutableArray(array: musicalGroups.allKeys)
keysOfMusicalGroups.sort(using: NSSelectorFromString("compare:"))
}
我只得到了使用 keysOfMusicalGroups.sort 代码排序的 Dictionary 键
任何帮助将不胜感激。提前致谢!
【问题讨论】:
-
您的代码只对键进行排序。您需要对主字典中的每个单独数组进行排序。
-
你为什么使用
NSArray、NSDictionary等,而不是他们的Swift同行? -
@NRitH 是的,就像我已经学会了使用索引表视图。我已经实现了这些方法。
-
@rmaddy ...是的,但我该怎么做呢?
-
我在这里发布回购链接。 github.com/gasparteixeira/TableViewIndexed
标签: ios arrays swift sorting dictionary