[英]Swift 2.0 error Downcast from '[NSIndexPath]?' to '[indexpath]' only unwraps optional
Hi below code was working fine in swift1.2 but when I upgraded to swift 2.0: 嗨下面的代码在swift1.2中工作正常,但当我升级到swift 2.0时:
func deselectAllRows() {
if let selectedRows = tableView.indexPathsForSelectedRows as! [NSIndexPath] {
for indexPath in selectedRows {
tableView.deselectRowAtIndexPath(indexPath, animated: false)
}
}
}
It shows the following error : 它显示以下错误:
Downcast from '[NSIndexPath]?' 来自'[NSIndexPath]?' to '[indexpath]' only unwraps optional 到'[indexpath]'只能解包可选
Any clue on how to resolve this issue? 有关如何解决此问题的任何线索?
You don't have to force a typecast anymore, indexPathsForSelectedRows
returns the right type: 您不必再强制进行类型转换, indexPathsForSelectedRows
返回正确的类型:
func deselectAllRows() {
if let selectedRows = tableView.indexPathsForSelectedRows {
for indexPath in selectedRows {
tableView.deselectRowAtIndexPath(indexPath, animated: false)
}
}
}
The tableView.indexPathsForSelectedRows returns [NSIndexPath]?
tableView.indexPathsForSelectedRows返回[NSIndexPath]?
, so you don't need to type cast it. ,所以你不需要输入它。 You can just write it like: 你可以这样写:
func deselectAllRows()
{
if let selectedRows = tableView.indexPathsForSelectedRows
{
for indexPath in selectedRows
{
tableView.deselectRowAtIndexPath(indexPath, animated: false)
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.