无法使用索引类型为“(section)”的“[Array<String>]”类型的值下标。类型”(又名“section.Type”)

Posted

技术标签:

【中文标题】无法使用索引类型为“(section)”的“[Array<String>]”类型的值下标。类型”(又名“section.Type”)【英文标题】:Cannot subscript a value of type '[Array<String>]' with index of type '(section)'. Type' (aka 'section.Type') 【发布时间】:2016-04-01 16:23:30 【问题描述】:

我正在尝试创建一个带有两个标题(帐户、支持)的 TableView 并在部分中带有文本标题。但是我遇到了错误

我关注了这个问题的答案:How do I populate two sections in a tableview with two different arrays using swift?

错误: 和:

这是我的代码:

 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】:

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

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

将其更改为 return myTitles.count

【讨论】:

以上是关于无法使用索引类型为“(section)”的“[Array<String>]”类型的值下标。类型”(又名“section.Type”)的主要内容,如果未能解决你的问题,请参考以下文章

无法使用“String”类型的索引为“[[String : Any]]”类型的值下标

无法使用“Int”类型的索引为“[String : String]”类型的值下标

无法使用“Any?”类型的索引为“[AnyHashable:Any]”类型的值下标

无法使用 [NSIndexPath] 类型的索引为 [String] 类型的值下标 - prepareForSegue

无法使用“String”类型的索引为“[String : AnyObject]”类型的值下标

错误:无法使用“UIImagePickerController.InfoKey”类型的索引为“[String:Any]”类型的值下标 [重复]