【发布时间】:2016-02-29 12:34:56
【问题描述】:
我的代表对UIStepper、TableViewCell 和TableViewController 有疑问。我无法在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'
我可能在概念上做了一些错误的事情,但是很难为这个特定的设置找到资源。非常感谢您对此提供一些帮助,谢谢!
【问题讨论】:
标签: ios swift uitableview delegates uistepper