Swift 在 indexPath 中使用 prepareForSegue

Swift use prepareForSegue in indexPath

我有一个模型 class 和两个 tableView 控制器。此 class 整数值。此 class 中的值使用 prepareforsegue 方法发送给其他 class。但我无法准备获取 tableView 索引路径。我做错了吗?

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

    let subCategory: SubCategoryVC = segue.destinationViewController as SubCategoryVC

    let indexPath = self.categoryTableView.indexPathForSelectedRow()

    model = arrList[indexPath?.row] **//incorrect line**

    subCategory.getCatID = model.categoryID
}

indexPath?.row returns 可选值。您不能在数组子脚本中使用它。你必须先 uwrap 它。这是示例:

if let indexPath = categoryTableView.indexPathForSelectedRow() {
    // do the work here
}

是的。我找到了。这个问题是可选的。 :(

let indexPath = self.categoryTableView.indexPathForSelectedRow()**!**

我把感叹号放在行尾,改正了。

安全方法;

if let indexPath = categoryTableView.indexPathForSelectedRow() {
    // do the work here
}