2016-08-21 19 views
1

を使用してテーブルビューに表示連絡先:UITableViewDelegateiOSのスウィフト - // MARKをUILocalizedIndexedCollat​​ion

override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String { 
    print("titleForHeaderInSection: \(collation.sectionTitles[section])") 
    return collation.sectionTitles[section] 
} 

override func sectionIndexTitlesForTableView(tableView: UITableView) -> [String] { 
    print("sectionIndexTitlesForTableView: \(collation.sectionIndexTitles)") 
    return collation.sectionIndexTitles 
} 

override func tableView(tableView: UITableView, sectionForSectionIndexTitle title: String, atIndex index: Int) -> Int { 
    print("sectionForSectionIndexTitle: \(sections.count)") 
    return collation.sectionForSectionIndexTitleAtIndex(index) 
} 

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return (self.results.count > 0) ? self.results.count : 0 
} 

override func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
    let numberOfSections = UILocalizedIndexedCollation.currentCollation().sectionTitles.count 
    print("numberOfSections: \(numberOfSections)") 
    return numberOfSections 
} 

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier("contactscell") as UITableViewCell! 
    let label    = cell.viewWithTag(1) as? UILabel 
    label?.text   = self.results[indexPath.row].givenName 
    return cell 
} 

それはすべてのセクションのすべての連絡先を表示します。アルファベット順のインデックスaからzまで並べ替えて連絡先を表示したい

答えて

0

どのセクションに関係なく、numberOfRowsInSectionにself.results.countが返されます。各文字の行数を返す必要があります。文字としてキーを使用し、連絡先を値として持つ辞書を使用することを検討してください。

関連する問題