Ios 保存UITableView中单元格的UISwitch状态,以将数据传递给源控制器
我有一个Ios 保存UITableView中单元格的UISwitch状态,以将数据传递给源控制器,ios,objective-c,uitableview,uiswitch,pass-data,Ios,Objective C,Uitableview,Uiswitch,Pass Data,我有一个ListTableView,其中的单元格分为几个部分。 另一个控制器提供的另一个FilterTableView(ListTableView的过滤器设置)。FilterTableView的每个单元格都有一个UISwitch,用于设置ListTableView指定部分的显示/隐藏状态 如何准确保存ui开关的BOOL状态 我需要提供什么样的型号 通过的单元格的ui开关状态的正确方式是什么 FilterTableView在ListTableView中显示/隐藏节 提前谢谢你的帮助 您需要将对数据
ListTableView
,其中的单元格分为几个部分。
另一个控制器提供的另一个FilterTableView
(ListTableView
的过滤器设置)。FilterTableView
的每个单元格都有一个UISwitch
,用于设置ListTableView
指定部分的显示/隐藏状态
如何准确保存ui开关的BOOL
状态
我需要提供什么样的型号
通过的单元格的ui开关
状态的正确方式是什么
FilterTableView
在ListTableView
中显示/隐藏节
提前谢谢你的帮助 您需要将对数据源中的项的引用传递给单元格,以便它可以直接更改它(例如,传入过滤器
对象),或者需要将过滤器表视图
作为每个单元格的委托,并让单元格在开关值更改时通知其委托
如果单元格是通用的,并且您也在其他地方使用它来做其他事情,请使用委托模式。但是,如果它是这个表视图所特有的,那么只需将过滤器
对象传递给它可能会更容易。这样,它还可以自行设置标签和切换状态,而不需要数据源设置其值。如果使用stroyboard,则可以创建一个展开序列(从FilterTableViewCtrl返回ListTableViewCtrl)。在这种情况下,您可以在ListTableViewCtrl中的“展开”操作方法中保存数据
- (IBAction)unwindToList:(UIStoryboardSegue*)unwindSegue
{
UIViewController* sourceViewController = unwindSegue.sourceViewController;
if ([sourceViewController isKindOfClass:[FilterTableViewCtrl class]])
{
FilterTableViewCtrl* filter = (FilterTableViewCtrl*)unwindSegue.sourceViewController;
//read state of filter, and update list (self)
}
}
查看iOS控制器编程指南/创建展开序列中的更多详细信息您是否有任何尝试的代码?