无法下标类型&#39; [Array <string>]&#39;索引类型&#39;(部分)&#39;。键入&#39; (又名&#39; section.Type&#39;)

时间:2016-04-01 16:23:30

标签: ios xcode swift uitableview uitableviewsectionheader

我正在尝试使用两个标头创建一个TableView(帐户,支持) 和部分中的文字标题。但我收到错误

我接着回答了这个问题:How do I populate two sections in a tableview with two different arrays using swift?

错误: enter image description here 和: enter image description here

这是我的代码:

 var myTitles = [["Delete current photo","Change profile picture","Change username","Change password"],["Help","Report a problem"]]

let headerTitles = ["Acount", "Support"]

override func viewDidLoad() {
    super.viewDidLoad()

}

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return myTitles[section].count
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    // #warning Incomplete implementation, return the number of rows
    return 3 //This is not complete yet.
}

override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
    if section < headerTitles.count {
        return headerTitles[section]
    }

    return nil
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("settingCell", forIndexPath: indexPath)

    cell.textLabel?.text = myTitles[indexPath.section][indexPath.row]

    return cell
}

1 个答案:

答案 0 :(得分:0)

首先,您在哪里获得section值:

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return myTitles[section].count
}

将其更改为return myTitles.count