我的代理人UIStepper
,TableViewCell
和TableViewController
存在问题。我无法将委托命令传递给TableViewCell
中的TableViewController
。
我的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'
我可能在做一些概念上错误的事情,但是很难找到这个特定设置的资源。非常感谢对此的一些帮助,谢谢!
答案 0 :(得分:0)
我不熟练代表,但您是否尝试删除错误的行?我不确定你是否需要它。
此外,我认为您可以删除
中的self
self.delegate.stepperButton(Int(stepper.value))