Swift - selectRowAtIndexPath不使用indexPathForSelectedRows

时间:2014-11-25 02:13:23

标签: ios uitableview swift multipleselection

当我使用tableView.indexPathForSelectedRow()时,调用selectRowAtIndexPath可以完美地运行。但是,我选择了多行,因此我尝试使用table.View.indexPathForSelectedRows() as [NSIndexPath]

Swift Compiler Error: NSIndexPath is not a subtype of NSIndexPath

错误已解决。

编辑 已添加For循环,仍未进行多项选择。

//I initialized saveSelection globally
var saveSelection : [NSIndexPath]?



override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
{   
    saveSelection = (drugTableView.indexPathsForSelectedRows() as [NSIndexPath])   
}

override func viewWillAppear(animated: Bool)
{
    if !selectedDrugs.isEmpty
    {
        for save : NSIndexPath in saveSelection! as [NSIndexPath]
        {

            self.drugTableView.selectRowAtIndexPath(save, animated: true, scrollPosition: UITableViewScrollPosition.None)
        }
    }

}

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这就是我的所作所为:

  1. 制作了IndexPaths的字典。使用didSelectRowAtIndexPathdidDeselectRowAtIndexPath为字典添加和删除键/值对。

  2. viewWillAppear内,我使用var indexForLoop = myDictionary.values.array作为indexPath设置传递到我的For Loop

  3. 横过我的手指,希望有最好的

  4. 谢谢Lyndsey的帮助!