ios - 从 UITableView 单元格获取数据

标签 ios objective-c uitableview

我在从 UITableView 的单元格中获取数据时遇到问题。
我有很多单元格(其他带有 xib 的类),在表格 View 中有一些人的信息。每个单元都有自己的开关。

在 table 下面是一个按钮,它会在按下开关的情况下向每个人发送消息。
我在 people 类中设置了属性,它会记住 person 的开关是否打开。 cellForRow 方法中的每个开关都设置了带有开关操作方法的选择器。

问题是我不知道在哪里设置有关开关状态的 person 属性值。在选择器方法中,我无权访问人员信息。
我有发件人,但没有关于人的信息。

最佳答案

我会根据您要执行的操作以两种方式之一执行此操作:

  1. 在配置时将人员对象的指针传递给单元格,并让单元格处理更新保存开关值的属性。
  2. 用一个函数做一个协议(protocol)

    -(void)switchInCell:(UITableViewCell*) cell valueModifiedTo:(NSInteget) newValue
    

    在您的 View Controller 中采用新协议(protocol),将新协议(protocol)类型的委托(delegate)属性添加到单元格,如果开关值发生变化,则从单元格内调用该委托(delegate)方法。

    在你的 View Controller 中的那个方法实现中,你可以做

    NSIndexPath* indexPath = [theTable indexPathForCell:cell];
    PersonClass* person = Your_DataSource_Array [indexPath.row];
    //modify person properties
    

关于ios - 从 UITableView 单元格获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29160307/

相关文章:

ios - 如何使用枚举列表填充 UITableView?

iphone - uitableview数据源过滤时didSelectRowAtIndexPath不起作用

ios - 如何更改 searchcontroller 中的 uitextfield 颜色?

ios - iTunes 连接 : Availability of app to all territories not reflecting

objective-c - iOS:进入后台时完成任务

iphone - 在 UITableView 编辑模式下更改复选标记颜色?

iphone - 删除UITableView行时为什么会发生错误?

ios - 如何一个接一个地呈现多个 UIAlertController?

objective-c - 添加 CocoaAsyncSocket 时体系结构 armv7 的 undefined symbol

iphone - 从月份名称获取月份编号?