【发布时间】:2016-10-06 10:00:32
【问题描述】:
虽然我发现有人问过类似的问题,但我无法理解答案。
我们如何阅读UISwitch 中的更改或UITableViewCell 中的任何元素?尝试使用协议,但自定义单元类抱怨没有初始化程序。使用,一个委托,似乎不符合视图控制器。
protocol SwitchTableViewCellDelegate {
func didChangeSwitchValue(value: Bool)
}
class SwitchTableViewCell: UITableViewCell {
var delegate: SwitchTableViewCellDelegate
var value: Bool = true
@IBOutlet weak var switchCellLabel: UILabel!
@IBOutlet weak var switchCellSwitch: UISwitch!
@IBAction func changedSwitchValue(sender: UISwitch) {
self.value = sender.on
delegate.didChangeSwitchValue(value)
}
在cellForRowAtIndexPath,
let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as! SwitchTableViewCell
cell.delegate = self
cell.switchCellLabel?.text = "Show Cloud Music"
cell.switchCellSwitch.on = userDefaults.boolForKey(cloudMusicKey)
有什么建议,关于如何实现这个?
【问题讨论】:
-
展示你是如何实现委托回调的。
-
实际上,我是 iOS 开发新手,正在尝试整理所有内容。不确定,如果这必须发生在
cellForRowAtIndexPath或didSelectRowAtIndexPath..? -
显示
cellForRowAtIndexPath的代码。 -
按要求包含
-
@NiravD,谢谢.. 一切都解决了..
标签: ios swift uitableview uiswitch