如何过滤具有不同元素的数组?

时间:2015-12-27 19:36:36

标签: ios arrays swift uitableview

我有一个TableView,我从中获取数组中选定的tableViewCell's值,但它不是所需的数组:

  

[<NSIndexPath: 0xc000000000200016\> {length = 2, path = 0 - 1}: "test1234", <NSIndexPath: 0xc000000000000016> {length = 2, path = 0 - 0}: "Judson"]

如何过滤它以获得["test1234","Judson"]

这是我正在使用的代码:

var selectedTextLabels = [NSIndexPath: String]()

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath){
    let cell = tableView.cellForRowAtIndexPath(indexPath) as! UsersTableViewCell
    if (cell.accessoryType == UITableViewCellAccessoryType.Checkmark){
        cell.accessoryType = UITableViewCellAccessoryType.None;
        selectedTextLabels[indexPath] = nil
    } else {
        cell.accessoryType = UITableViewCellAccessoryType.Checkmark;
        if (cell.accessoryType == UITableViewCellAccessoryType.Checkmark){
            if let text = cell.collegeNameLbl?.text {
                selectedTextLabels[indexPath] = text
            }
        }
    }
    print("\(selectedTextLabels)  outside")
}

1 个答案:

答案 0 :(得分:0)

由于var selectedTextLabels = [NSIndexPath: String]()是一个字典而您正在尝试检索它的String部分,即values,您可以通过它来获取它们:

let values = Array(selectedTextLabels.values)