我有一個UITableView
包含用戶添加的動態單元格。每個單元有一個UILabel
和一個UISwitch
。開關的默認狀態爲ON。每當用戶添加它時,我將這些值保存在CoreData
模型(UILabel
,字符串爲& UISwitch
,作爲Bool
)。 每當用戶切換交換機時,我想更新/存儲CoreData模型中相同單元中的標籤值對應的交換機的狀態。我已經將標記(switch.tag = indexPath.row)添加到行中的每個開關,並且可以通過在我的cellChanged函數中使用sender.tag來訪問它。但是我無法獲取切換開關所在行的標籤。如果我能以某種方式獲取與切換開關相對應的標籤值,則可以運行for循環在CoreData
模型中查找該標籤值,然後設置UISwitch
的狀態。由於我使用的是Swift
語言,如果您可以使用相同的語言解釋代碼,我將不勝感激。如何在Swift中的CoreData模型中保存動態創建的UISwitch的更改狀態?
1
A
回答
0
這爲我工作:
func switchTapped(sender:UISwitch) {
let switchPosition = sender.convertPoint(CGPointZero, toView: self.tableView)
let indexPath = self.tableView.indexPathForRowAtPoint(switchPosition)
}
0
更好的模式可以在單元中創建一個協議。像
@protocol MyCellDelegate{
func cellSwitchChanged(forCell: MyCell, toValue: Bool, withLabel: String?)
}
class MyCell: UITableVeiwCell{
weak veer delegate: MyCellDelegate
.
.
.
@IBaction handleSwitchChanged(sender: UISwitch){
self.delegate?.cellSwitchChanged(forCell: self, toValue: sender.value, withLabel: self.lblName.text)
}
}
而在你的單元格爲行索引路徑,分配你的VC委託的單元格。並重寫此方法。
因此,每當開關改變時,視圖控制器將獲得單元格引用,開關值和文本標籤。那麼您可以在這裏進行核心數據更新操作。
相關問題
- 1. 保持TableViewCell中UISwitch的狀態:Swift
- 2. 如何在QML中創建基於狀態的模型更改
- 3. 如何在數據庫中保存動態創建的模板?
- 4. 從NSObject類更改UISwitch的狀態
- 5. 如何保存動態viewpager中保存的視圖狀態
- 6. XCode中完全動態的CoreData模型
- 7. Xcode - UISwitch在更改狀態後回來
- 8. 如何在更改模型後驗證模型的狀態
- 9. 如何保存動態更改的HTML?
- 10. 如何保存UISwitch的狀態到文件上的計算器
- 11. 動態創建兩個EditText並將值保存在模型中
- 12. 保存UISwitch狀態 - 目標C
- 13. 保存並加載UISwitch狀態
- 14. Objective-C UISwitch更改另一個UISwitch的狀態
- 15. 根據另一個uiswitch的狀態更改uiswitch
- 16. 如何保存plist文件上的UISwitch狀態?
- 17. Android - 保存狀態的動態更改佈局
- 18. 如何保持CheckBoxList的更改狀態?
- 19. 如何觀察ObservableList中模型項目的更改狀態?
- 20. 如何保存一個動態創建的列表框的狀態ASP.NET C#
- 21. 修改保存在數組中的動態創建對象
- 22. 如何在VB.NET中更改動態創建的Label的值?
- 23. 在動態創建的UI中保存和恢復實例狀態?
- 24. Uiswitch不會更改狀態ios
- 25. 如何防止UISwitch改變狀態?
- 26. 嘗試在Swift中設置UISwitch的初始狀態
- 27. 如何在rails中創建靜態模型的簡單緩存?
- 28. 更改動態創建狀態的子項
- 29. 如何在Android中保存(用戶創建的)動態佈局?
- 30. 在動態更改src後保存Android圖像狀態
爲什麼你需要存儲在CoreData的標籤,做這些標籤改變? –
這些標籤存儲用戶選擇的時間值。 –
夠公平的。我可以假設你存儲'NSDate's? –