Wie kann ich mit dem Button-Tag schnell auf den Inhalt einer benutzerdefinierten Zelle zugreifen?

Ich habe eine App mit einer benutzerdefinierten Schaltfläche in einer benutzerdefinierten Zelle. Wenn Sie die Zelle auswählen, wird eine Detailansicht angezeigt, die perfekt ist. Wenn ich eine Schaltfläche in einer Zelle auswähle, druckt der folgende Code den Zellenindex in die Konsole.

Ich muss auf den Inhalt der ausgewählten Zelle zugreifen (über die Schaltfläche) und ihn einem Array oder Wörterbuch hinzufügen. Ich bin neu in diesem Bereich und habe Mühe herauszufinden, wie ich auf den Inhalt der Zelle zugreifen kann. Ich habe versucht, didselectrowatindexpath zu verwenden, kann aber nicht erzwingen, dass der Index dem des Tags entspricht ...

So im Grunde, wenn es 3 Zellen mit "Hund", "Katze", "Vogel" als cell.repeatLabel.text in jeder Zelle gibt und ich die Schaltflächen in den Zeilen 1 und 3 (Index 0 und 2) auswähle, wird es sollte 'Hund' und 'Vogel' zum Array / Wörterbuch hinzufügen.

    // MARK: - Table View

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return 1
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return postsCollection.count
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cell: CustomCell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! CustomCell

    // Configure the cell...
    var currentRepeat = postsCollection[indexPath.row]
    cell.repeatLabel?.text = currentRepeat.product
    cell.repeatCount?.text = "Repeat: " + String(currentRepeat.currentrepeat) + " of " + String(currentRepeat.totalrepeat)

    cell.accessoryType = UITableViewCellAccessoryType.DetailDisclosureButton

    cell.checkButton.tag = indexPath.row;

    cell.checkButton.addTarget(self, action: Selector("selectItem:"), forControlEvents: UIControlEvents.TouchUpInside)


    return cell

}

func selectItem(sender:UIButton){

    println("Selected item in row \(sender.tag)")

 }

Antworten auf die Frage(14)

Ihre Antwort auf die Frage