我有一个模型类和两个tableView控制器。此类为Integer值。这个类的值用prepareforsegue方法发送给其他类。但我无法准备forsegue获取tableView indexpath。我做错了?
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
}
答案 0 :(得分:11)
indexPath?.row
返回可选值。你不能在数组subacript中使用它。你必须先打包它。这是一个例子:
if let indexPath = categoryTableView.indexPathForSelectedRow() {
// do the work here
}
答案 1 :(得分:2)
是肯定的。我找到了。这个问题是可选的。 :(
let indexPath = self.categoryTableView.indexPathForSelectedRow()**!**
我把感叹号放在行尾并纠正。
安全方法;
if let indexPath = categoryTableView.indexPathForSelectedRow() {
// do the work here
}