DidSelectRowAtIndexPath SWIFT

DidSelectRowAtIndexPath SWIFT

我用它创建了一个 table 和一个搜索栏控制器。我使用了一个结构来创建 table 内容。我只想将所选单元格中的数据存储在一个变量中。我是新手iOSdeveloper.please求助:)TIA

//my struct

import Foundation    
struct areas 
    {
        let name : String
    }

// table contents

 override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = self.tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell

      var place :areas

        if tableView == self.searchDisplayController!.searchResultsTableView{

            place = filteredareas[indexPath.row]
        }

        else{

            place = places[indexPath.row]
        }

        cell.textLabel!.text = place.name
        cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator

        return cell
    }

如何使用didSelectRowAtIndexPath知道点击的单元格内容?

试试看;

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        var place: areas
        place = filteredareas[indexPath.row]
        // do with place whatever you want
}

当您单击 tableviewcell 时,将调用 tableviewdelegate 方法 didSelectRowAtIndexPath,该方法为您提供 indexPath,以便您可以按如下方式访问数组中的行:

     var place: areas


func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    place = filteredareas[indexPath.row]
}

因此,每次您单击 tableview 单元格时,都会调用上述委托方法,并根据 indexPath.row

将适当的变量存储在适当的位置