У меня есть список имен, отсортированных по алфавиту, и теперь я хочу отображать эти имена в виде таблицы. Я борюсь с группировкой этих имен для каждой буквы.
Мой код выглядит следующим образом:
let sections:Array<AnyObject> = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]
var usernames = [String]()
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{
let cellID = "cell"
let cell: UITableViewCell = self.tv.dequeueReusableCellWithIdentifier(cellID) as UITableViewCell
cell.textLabel?.text = usernames[indexPath.row]
return cell
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
return usernames.count
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int{
return 26
}
func sectionIndexTitlesForTableView(tableView: UITableView) -> [AnyObject]!{
return self.sections
}
func tableView(tableView: UITableView,
sectionForSectionIndexTitle title: String,
atIndex index: Int) -> Int{
return index
}
func tableView(tableView: UITableView,
titleForHeaderInSection section: Int) -> String?{
return self.sections[section] as? String
}
и все это работает очень хорошо, за исключением группировки, которая заставляет мой вид таблицы в конечном итоге выглядеть следующим образом:
Итак, я знаю, что вы должны иметь возможность использовать фильтрованную функцию в массиве, но я не понял, как ее реализовать.
Любые предложения о том, как действовать, будут оценены.