ios - Swift 2.0 错误从 '[NSIndexPath]?' 向下转换为 '[indexpath]' 仅解包可选

标签 ios swift uitableview swift2

您好,下面的代码在 swift1.2 中运行良好,但是当我升级到 swift 2.0 时:

func deselectAllRows() {
    if let selectedRows = tableView.indexPathsForSelectedRows as! [NSIndexPath] {
        for indexPath in selectedRows {
            tableView.deselectRowAtIndexPath(indexPath, animated: false)
        }
    }
}

它显示以下错误:

Downcast from '[NSIndexPath]?' to '[indexpath]' only unwraps optional

关于如何解决这个问题的任何线索?

最佳答案

您不必再强制类型转换,indexPathsForSelectedRows 返回正确的类型:

func deselectAllRows() {
    if let selectedRows = tableView.indexPathsForSelectedRows {
        for indexPath in selectedRows {
            tableView.deselectRowAtIndexPath(indexPath, animated: false)
        }
    }
}

关于ios - Swift 2.0 错误从 '[NSIndexPath]?' 向下转换为 '[indexpath]' 仅解包可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32970357/

相关文章:

ios - 在 tableView 中重写 UIBarButtons 的功能

iphone - 使用水平滚动 TableView 时的滑动标题 View 栏

ios - 下拉刷新修改数组值?

ios - 如果由于网络连接不良而尚未完成创建,如何删除 CKRecord?

ios - UISegmentedControl 和本地化字符串

ios - WKWebView 不支持 iOS 中的部分网页

javascript - 是否可以隐藏 HTML 元素?

swift - 检查是否可以从开关中的参数创建枚举

ios - 如何在子类中重写父类 UIButton 属性?

c# - 带有图像的 UITableView 滚动速度非常慢 Xamarin.iOS