How to create the correct ForSectionIndexTitle section?

I have a section index that contains the full alphabet, however sections in my table contain only a few letters (e.g. C, F, N, U).

I would like to modify sectionForSectionIndexTitle to correctly show the right sections when moving my finger across the section index. I'm still not sure how to do this using section.append ...

Thank you for your help.

This is what my code looks like:

Section.swift

struct Section { var heading : String var items : [String] init(title: String, objects : [String]) { heading = title items = objects } } 

ViewController.swift

 func updateSections(index : Int) { switch index { case 0: sections.append(Section(title: "C", objects: ["Czech Republic"])) sections.append(Section(title: "F", objects: ["France"])) sections.append(Section(title: "N", objects: ["Norway"])) sections.append(Section(title: "U", objects: ["USA"])) default: break } tableViewOutlet.reloadData() } let arrIndexSection = ["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"] func sectionIndexTitlesForTableView(tableView: UITableView) -> [String]? { if segmentedControlOutlet.selectedSegmentIndex == 0 { return arrIndexSection } else { return [""] } } func tableView(tableView: UITableView, sectionForSectionIndexTitle title: String, atIndex index: Int) -> Int { let temp = arrIndexSection as NSArray return temp.indexOfObject(title) } func numberOfSectionsInTableView(tableView: UITableView) -> Int { return sections.count } func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { let section = sections[section] return section.items.count } func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? { return sections[section].heading } 
+5
source share
1 answer

try entering the code in your project:

 func tableView(tableView: UITableView, sectionForSectionIndexTitle title: String, atIndex index: Int) -> Int { var tempIndex:Int = 0 for str in arrIndexSection { if str == title { return tempIndex } tempIndex += 1 } return 0 } 
+1
source

All Articles