嗨,下面的代码在swift1.2中运行正常,但是当我升级到swift 2.0时:
func deselectAllRows() {
if let selectedRows = tableView.indexPathsForSelectedRows as! [NSIndexPath] {
for indexPath in selectedRows {
tableView.deselectRowAtIndexPath(indexPath, animated: false)
}
}
}
它显示以下错误:
来自' [NSIndexPath]的堕落?'到' [indexpath]'只打开可选的
有关如何解决此问题的任何线索?
答案 0 :(得分:5)
您不必再强制进行类型转换,indexPathsForSelectedRows
会返回正确的类型:
func deselectAllRows() {
if let selectedRows = tableView.indexPathsForSelectedRows {
for indexPath in selectedRows {
tableView.deselectRowAtIndexPath(indexPath, animated: false)
}
}
}
答案 1 :(得分:1)
tableView.indexPathsForSelectedRows返回[NSIndexPath]?
,因此您无需输入强制转换。你可以这样写:
func deselectAllRows()
{
if let selectedRows = tableView.indexPathsForSelectedRows
{
for indexPath in selectedRows
{
tableView.deselectRowAtIndexPath(indexPath, animated: false)
}
}
}