我一直在四处搜索大量的stackoverflow并阅读了许多与代表团有关的不同问题,但是我还没有能够解决我的问题。我试图让我的stepperAction(它在tableview单元格内)在每次点击它时改变我的BuyStats类中的标签。但是到目前为止,单击步进器没有任何作用。我想我需要在BuyStats.viewDidLoad()中设置委托,但我没有得到它。这对某人来说可能很容易。谢谢你的帮助。Swift代表团 - 在Tableview Cell中使用步进器更新独立类中的标签
protocol SetRemainingValue : class {
func setValue(amount: Double)
}
}
//
class BuyStatsCell: UITableViewCell{
weak var setRemaining : SetRemainingValue?
@IBAction func stepperAction(_ sender: UIStepper) {
setRemaining?.setValue(amount: sender.value)
}
//
class BuyStats: UIViewController, SetRemainingValue {
@IBOutlet weak var spendAmount: UILabel!
override func viewDidLoad(){
}
func setValue(amount: Double) {
spendAmount.text = amount
}
}
你在哪里创建了你的'BuyStatsCell'对象?你需要在'BuyStats'类的某个地方设置'obj.setRemaining = self'。否则,没有定义“BuyStatsCell”的'delegate'是谁,并且您通过委派传递的消息不会生效。要了解更多关于这些协议和代表如何工作,你可以看看[这个答案](http://stackoverflow.com/a/41689281/3687801) – nayem