Я очень новичок в Swift и Objective-C.Swift: Сортировка массива в алфавитном порядке
У меня есть контроллер представления таблицы, в которой я объявленный словарь и массив:
var parts = [:]
var partsSectionTitles: NSArray!
В моей функции viewDidLoad, у меня есть:
parts = [
"Part 1" : ["X:1", "X:2", "X:3"],
"Part 2" : ["X:1", "X:2"],
"Part 3" : ["X:1"]
]
var partsSectionTitles = parts.allKeys
Я уже успешно это контроллер табличного представления в Objective-C, а также для сортировки частей секций в алфавитном порядке, я использовал:
partsSectionTitles = [[parts allKeys] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
Итак, мой вопрос: как написать предыдущий код Objective-C в Swift? Заранее благодарю за ваши ответы.
ОБНОВЛЕНИЕ: Я смог решить проблему, используя бит и куски из ответов, которые вы предоставили вам. Так что спасибо тебе! Вот что у меня есть:
Я объявил части словаря, как:
var parts = [String:[String]]()
, что позволило мне предоставить несколько значений для каждого ключа. Это была ОГРОМНАЯ помощь.
Тогда я был в состоянии создать partsSectionTitles и сортировать его:
partsSectionTitles = [String](parts.keys)
partsSectionTitles.sort(){ $0 < $1 }
Это работало, как я не получил никаких ошибок.
Вы были голосуют за то, что не опубликовали то, что вы пробовали. Я уверен, что вы пробовали несколько вещей. Опубликуйте то, что у вас есть до сих пор, и мы можем помочь вам исправить это :) – Lance
Если случайно вы ничего не пробовали, взгляните на глобальную функцию сортировки Swifts. Вы можете передать partsOfNovel.keys на это вместе с закрытием для сортировки. – Lance
Функция сортировки Swift - это простой способ сделать это, и вы можете найти объяснение в книге Swift от Apple. [Закрытие] (https://developer.apple.com/library/mac/documentation/swift/conceptual/swift_programming_language/Closures.html) –