2017-01-15 10 views
1

セクションに項目があるはずですが、配列の最初のセクション(Science)のみが表示され、何が問題なのかわかりません。両方のセクションを表示する必要があります。UITableViewは1つのセクションのみを表示します

マイコード:ViewDidLoad

import UIKit 

class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate{ 
    @IBOutlet weak var tableView: UITableView! 
    var checked = [Bool]() 



    let section = ["Science", "Math"] 

    let items = [["Physics", "Biology", "Chemistry"], ["Algebra I", "Algebra II", "Statistics"]] 






    override func viewDidLoad(){ 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
     self.tableView.allowsMultipleSelection = true 

    } 

    override func didReceiveMemoryWarning(){ 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 


    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int{ 
     return self.items[section].count 
    } 

    func numberOfSectionsInTableView(tableView: UITableView) -> Int{ 
     // #warning Incomplete implementation, return the number of sections 

     return self.section.count 

    } 
    func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String?{ 

     return self.section[section] 

    } 
    //All before. 

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
    { 
     let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) 

     cell.textLabel?.text = self.items[indexPath.section][indexPath.row] 

     //MARK: -Checkmark and save support. 
     cell.accessoryType = cell.isSelected ? .checkmark : .none 
     cell.selectionStyle = .none // to prevent cells from being "highlighted" 

     return cell 
    } 


    //MARK: - Checkmark and save functions. 


    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
     tableView.cellForRow(at: indexPath)?.accessoryType = .checkmark 

    } 

    func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) { 
     tableView.cellForRow(at: indexPath)?.accessoryType = .none 
    } 



    //MARK: - Sections 




} 

答えて

5

あなたは間違い、間違った方法を行いました。変更をnumberOfSectionsInTableView(tableView:)にする:

func numberOfSections(in tableView: UITableView) -> Int { 
    return self.section.count 
} 
0

tableView.delegate = self 
tableView.dataSource = self 
関連する問題