如何在Swift中解开字符串以修复错误?

时间:2019-01-01 12:29:54

标签: swift

我正在尝试制作一个用户可以从表视图单元格中选择一个选项的应用程序,但出现错误:

  

可选类型'String?'的值必须解包为'String'类型的值

在第5行和第16行出现错误,都是关于“展开可选类型”。

我尝试添加!并在Internet上搜索,但找不到任何可帮助我解决错误的信息。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? DataTableViewCell
    cell?.img.image = UIImage(named: arr[indexPath.row]["name"!])
    cell?.lbl.text = arr[indexPath.row]["name"]
    cell?.lbl2.text = arr[indexPath.row]["subject"]
    cell?.lbl3.text = arr[indexPath.row]["grade"]
    return cell!
}

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let vc = storyboard?.instantiateViewController(withIdentifier: "DetailViewController") as? DetailViewController
    vc?.str = arr[indexPath.row]["name"]
    navigationController?.pushViewController(vc!, animated: true)

}

我希望程序能够正常运行。

1 个答案:

答案 0 :(得分:0)

来自Swift documentation

  

Swift还引入了可选类型,用于处理缺少值的情况。可选的选项是“有一个值,它等于x”或“根本没有值”。

如何解决,您必须学习Optional Chaining. 完成的操作称为强制展开。

我想您会在这里得到所有答案。