使用UITableViewCell中的UISwitch更新CoreData值
只是为了学习,所以我确信有更好的方法来编码我到目前为止所拥有的东西。无论如何,我有一个简单的任务列表保存到核心数据中。您可以转到另一个VC,在那里您可以编辑或创建新任务。我希望能够在自定义单元格中放置一个uiswitch,允许您将任务设置为完成,然后重新加载tableview。我已经搜索了所有地方,找到了这个,但似乎无法翻译一个解决方案。任何帮助都会很好 我不确定是应该在自定义单元格中编写save代码,还是只是传递或传递委托 这是我的定制手机 协议设置CellDelegate:类{ func didChangeSwitchState(发送方:TaskCell,isOn:Bool) } 类TaskCell:UITableViewCell{使用UITableViewCell中的UISwitch更新CoreData值,uitableview,uiswitch,Uitableview,Uiswitch,只是为了学习,所以我确信有更好的方法来编码我到目前为止所拥有的东西。无论如何,我有一个简单的任务列表保存到核心数据中。您可以转到另一个VC,在那里您可以编辑或创建新任务。我希望能够在自定义单元格中放置一个uiswitch,允许您将任务设置为完成,然后重新加载tableview。我已经搜索了所有地方,找到了这个,但似乎无法翻译一个解决方案。任何帮助都会很好 我不确定是应该在自定义单元格中编写save代码,还是只是传递或传递委托 这是我的定制手机 协议设置CellDelegate:类{ func
var delegate: SettingCellDelegate!
@IBOutlet weak var taskImage: UIImageView!
@IBOutlet weak var arrowImage: UIImageView!
@IBOutlet weak var dueDateLabel: UILabel!
@IBOutlet weak var dueDateValue: UILabel!
@IBOutlet weak var dueTimeLabel: UILabel!
@IBOutlet weak var dueTimeValue: UILabel!
@IBOutlet var taskCellStatus: UITextField!
@IBOutlet var taskCellSwitchDisplay: UISwitch!
@IBAction func taskCellSwitchAction(sender: AnyObject) {
if (taskCellSwitchDisplay.on) {
taskCellStatus.text = "Completed"
} else {
taskCellStatus.text = "Active"
}
}
@IBOutlet weak var taskNameValue: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
delegate = self
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
taskCellSwitchDisplay.addTarget(self, action: "switchChanged:", forControlEvents: UIControlEvents.ValueChanged)
}
func configureCell(task: Tasks) {
taskImage.image = UIImage(named: "Icon.png")
arrowImage.image = UIImage(named: "arrow_filled.png")
dueDateLabel.text = "Due Date:"
dueDateValue.text = task.taskDate
dueTimeLabel.text = "Due Time:"
dueTimeValue.text = task.taskTime
taskNameValue.text = task.taskName
taskCellStatus.text = task.status
//taskCellStatus.hidden = true
if (taskCellStatus.text == "Completed") {
taskCellSwitchDisplay.on = true
} else {
taskCellSwitchDisplay.on = false
}
}
func switchChanged(taskCellSwitchDisplay: UISwitch) {
_ = taskCellSwitchDisplay.on
if taskCellSwitchDisplay.on == true {
let switchValue = "Completed"
print("Switch Variable: \(switchValue)")
delegate.didChangeSwitchState(self, isOn: true)
} else {
let switchValue = "Active"
print("Switch Variable: \(switchValue)")
delegate.didChangeSwitchState(self, isOn: false)
}
}
这里是我在tableview中获取代理的位置
扩展任务单元:SettingCellDelegate{
func didChangeSwitchState(发送方:TaskCell,isOn:Bool){
if isOn == true {
print("true")
} else {
print("false")
}
}