我的 UIStepper
、TableViewCell
和 TableViewController
委托(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/