【发布时间】:2016-11-27 21:18:05
【问题描述】:
我有一个 UITableView 包含用户添加的动态单元格。每个单元格有一个UILabel 和一个UISwitch。开关的默认状态为 ON。每当用户添加这些值时,我都会将这些值保存在 CoreData 模型中(UILabel 为字符串,UISwitch 为 Bool)。
每当用户切换开关时,我想在 CoreData 模型中的同一单元格中更新/存储与标签值相对应的开关状态。我已将标签 (switch.tag = indexPath.row) 添加到行中的每个开关,并且可以通过在我的 cellChanged 函数中使用 sender.tag 来访问它。但我无法获取已切换开关的那一行的标签。如果我能以某种方式获取与切换的开关相对应的标签值,那么我可以运行一个 for 循环以在CoreData 模型中查找该标签值,然后设置UISwitch 的状态。由于我使用的是Swift 语言,如果您能解释使用相同的代码,我将不胜感激。
【问题讨论】:
-
为什么要在CoreData中存储标签,这些标签会改变吗?
-
这些标签存储了用户选择的时间值。
-
很公平。我可以假设您存储
NSDates 吗? -
是 NSDates 作为字符串
-
您不应该尝试获取标签的值以确定哪个 CoreData 对象已被更新。您应该使用 sender.tag(即 indexPath.row)直接从数据源中获取对象。
标签: ios swift uitableview core-data uiswitch