0
我有一個UITableView與sectionIndexTitles。這是我的數據源:sectionForSectionIndexTitle檢索前一節
let sSectionTitles = ["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 sectionTitles = [String]()
func sectionIndexTitlesForTableView(tableView: UITableView) -> [String]? {
return sSectionTitles
}
func tableView(tableView: UITableView, sectionForSectionIndexTitle title: String, atIndex index: Int) -> Int {
var section = 0
if let selectedSection = sectionTitles.indexOf(title) {
section = selectedSection
} else {
section = index
}
return section
}
變量sectionTitles
是一個類似數組sSectionTitles
但它僅包含部分指標是有效的。例如,如果我沒有與名稱以字母D開頭的聯繫人,那麼「D」將不在sectionTitles
中。
我試圖複製在聯繫人應用程序的行爲:如果用戶點擊標題索引「d」,如果沒有在B區至少一個觸點,然後滾動到
- 本節。
- 否則,滾動到上一節。 (在這個例子中,如果沒有B和C字母的聯繫人,則滾動到A)
我一直堅持這個很多小時,我仍然不知道如何應用這個邏輯。我想過使用遞歸函數,但我沒有設法解決這個問題。是否有人在如何實現這個目標方面有任何的領先優勢?
感謝。
我試圖實現類似的東西,但我使用的索引,而不是標題,這可能是爲什麼這使我困惑這麼多。我得說,遞歸不是我的一杯茶,但這清除了我對這個問題的大部分困惑。非常感謝。 – Croisciento