ios - TableViewCell 和 TableViewController 中 UIStepper 的委托(delegate)错误

标签 ios swift uitableview delegates uistepper

我的 UIStepperTableViewCellTableViewController 委托(delegate)存在问题。我无法将委托(delegate)命令传递到 TableViewController 中的 TableViewCell

我的TableViewCell代码如下:

CampTableCell.swift

import UIKit

protocol ReviewCellDelegate{
    func stepperButton(stepper_value:Int)
}

class CampTableCell: UITableViewCell {

@IBOutlet var campqty: UILabel!
@IBOutlet var stepper: UIStepper!

var delegate:ReviewCellDelegate!

override func awakeFromNib() {
    super.awakeFromNib()
    // Initialization code
}

override func setSelected(selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)

    // Configure the view for the selected state
}

@IBAction func stepperValueChanged(sender: UIStepper) {

    self.delegate.stepperButton(Int(stepper.value))
    campqty.text = String(Int(stepper.value))
}

}

我的TableGenController.swift的开头是这样的:

class TableGenController: UITableViewController, UISearchBarDelegate, ReviewCellDelegate {

我添加了这个功能(作为测试):

func stepperButton(stepper_value:Int) {
    print("Value Changed!")
}

接下来,我相信,我必须将其添加到 viewDidLoad 下:

CampTableCell.delegate = self

但是,这会导致错误,指出:

Instance member 'delegate' cannot be used on type 'CampTableCell'

我可能在概念上做了一些错误的事情,但是很难找到用于此特定设置的资源。非常感谢您对此提供一些帮助,谢谢!

最佳答案

我不精通委托(delegate),但是您是否尝试过删除出现错误的行?我不确定您是否需要它。

此外,我认为您可以删除

中的 self
self.delegate.stepperButton(Int(stepper.value))

关于ios - TableViewCell 和 TableViewController 中 UIStepper 的委托(delegate)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35699720/

相关文章:

ios - Swift:如何在UITableViewController(包含UICollectionView)中使用 "didSelectItemAtIndexPath"?

objective-c - 使用分段控件过滤 TableView 的部分

ios - Slack iOS URL 方案

ios - 将地址 (UITextView) 连接到 Apple map

ios - 复制数组中已有的项目

ios - 如何使用 AVPlayer addperiodictimeobserverforinterval 函数更新 uilabel?

ios - 显示您关注的用户的帖子 - swift

Iphone/ipad 通过触摸事件自定义控制

ios - 触摸 subview 时不应该触发 UIRecognizers 吗?

ios - UITableView 问题,它在更新或插入新单元格后向上滚动一半