Активировать обновленный сервисный работник при обновлении

Увидев предложение Paulw11 об использовании обратного вызова делегата, я хотел немного уточнить его / предложить другое, подобное предложение. Если вы не хотите использовать шаблон делегата, вы можете быстро использовать блокировки следующим образом:

Класс вашей ячейки:

class Cell: UITableViewCell {
    @IBOutlet var button: UIButton!

    var buttonAction: ((sender: AnyObject) -> Void)?

    @IBAction func buttonPressed(sender: AnyObject) {
        self.buttonAction?(sender)
    }
}

Ваш метод cellForRowAtIndexPath:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell") as! Cell
    cell.buttonAction = { (sender) in
        // Do whatever you want from your button here.
    }
    // OR
    cell.buttonAction = buttonPressed // <- Method on the view controller to handle button presses.
}
22
задан Dan Fabulich 19 October 2016 в 16:59
поделиться