如何使用字典为表视图分配单元格值?

时间:2018-02-21 03:19:26

标签: swift uitableview dictionary

我一直在尝试使用plist字典中的名字填充表格视图。配置单元格值时出错。

我的代码:

// Created a function to get plist dictionary values

func getSwiftArrayFromPlist() -> (Array<Dictionary<String,String>>) {
    let path = Bundle.main.path(forResource: "Sheet1", ofType: "plist")
    var arr: NSArray?
    arr = NSArray(contentsOfFile: path!)
    return (arr as? Array<Dictionary<String,String>>)!
}

override func viewDidLoad() {
    super.viewDidLoad()

    //var mainGroup = [String]()
}

// MARK: - Table view data source

override func numberOfSections(in tableView: UITableView) -> Int {
    // #warning Incomplete implementation, return the number of sections
    return 1
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    let array1 = getSwiftArrayFromPlist().count
    return array1
}

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

    // Configure the cell...
    //var key   = Array(self.array.keys)[indexPath.row]

    var key = getSwiftArrayFromPlist()["firstname"]
    var value = getSwiftArrayFromPlist()[key]
    return cell
}

在var键处获取错误:

  

无法下标“Array&gt;”类型的值索引类型为'String'

我的目标是在表格视图中获取名字列表(键是“名字”值是实际的名字。

1 个答案:

答案 0 :(得分:0)

getSwiftArrayFromPlist()的返回类型是一个数组。但是您尝试使用键“firstname”

来访问它,就像字典一样

应该是: -

=SUMIF(C5:C11,"<>",D5:D11)