【问题标题】:mapping a dataset to textfield inside UItableView将数据集映射到 UItableView 内的文本字段
【发布时间】:2011-04-21 14:40:05
【问题描述】:

已经有 2 天了,我遇到了一个问题。 在我的应用程序中,我使用一些 .net asmx 服务(作为后端)来获取一些数据并将其填充到我的视图中。在其中一个模块中,我需要编辑和保存从服务中获取的数据。在那里我获取了几个 rowkeyvalues,因此我在我的 tableview 中创建了许多行单元格,它也包含两个 UItextfields,它显示了一些独特的代码和 cmets。

现在,如果我必须编辑和保存一些字段,我需要将这些行键中的每一个映射到每个行单元格,然后创建对象,该对象基本上是我使用 Sudzc 生成的 wsdl 代理类并传递每个数据集并将其序列化为 xml 并通过 SOAP 发布。

这里真正的问题是,我不知道如何将每个唯一的行键映射到每个行单元格并为每行创建唯一的数据集(主要包含其他字段以及行键)并将其传递给代理对象(WSDL 存根)。

请帮我解决这个问题。

谢谢, 马诺吉

【问题讨论】:

  • 给我们一些关于如何创建单元格的代码。
  • 嗨尼克,我正在创建子类 UItableViewCell 的单元格。使用 Xib 很容易做到这一点。我的 tableviewcell 必须 Ivars(用于两个文本字段)来显示从服务中获取的唯一代码和 cmets。抱歉 2 说我现在正在使用 windows m/c,所以可以分享任何代码。
  • 你能问一个更具体的问题吗?很难弄清楚您要达到的目标。不过,一个建议是,永远不要将 tableViewCell 视为数据/模型的一部分。对 dataModel 进行所有更改、编辑、删除,并让 tableView 反映它。不要尝试将 dataRow 与 UITableVIew 行耦合,只会变得混乱并最终出错。
  • @Ricki:是的,这个问题已经变得非常混乱,因为我也被这件事搞砸了。无论如何,我的问题是相反的,在 tableviewcell 中编辑并将其保存到 dataModel(更像是动态注入)并将其推送到远程服务。数据集大部分是 .Net 类型的术语。

标签: iphone uitableview wsdl uitextfield stubs


【解决方案1】:

不确定我是否理解您的问题,但我可以想到两种方法来将行单元格映射到某物。 1. 每个 UITableViewCell 都是 UIView 的子类,所以它有一个“tag”属性,它是一个 int。 您可以设置它并检查它的值。 2.当用户点击一行时,调用tableView:didSelectRowAtIndexPath:。 IndexPath.row 是一个 int,它给出了它所在部分的绝对行位置(如果只有一个部分,则在整个表中)。

通常,在 cellForRowAtIndexPath: 中,您获取与 IndexPath.row 对应的支持数据并填充单元格。您也可以在此时设置单元格的标签。

这将行、单元格和数据联系在一起。 希望有帮助。 -迈克

【讨论】:

  • 嗨,迈克,感谢您的帖子。但是,如果您密切关注我的帖子,您会看到我提到行是根据 2 创建的,从服务中获得的行键的数量。假设有 15 个行键来自服务,因此创建了 15 个行单元格,这正在创建子类 uitableviewcell。
  • 所以? 15 行,5000 行,每行可以有一个唯一的标签和单元格。有什么问题?我的意思是 - 我不知道你要解决什么问题。
  • @Mike:现在我不关心 didselectedrowatindex 因为我没有使用这个委托。如果我在文本字段和 cmets 字段中编辑某些内容,我会在某处保存数据并创建数据集。假设这是一行,其余 14 行和相应的 14 个数据集也是如此。现在所有这 15 个数据集,我需要传递给我的代理对象,该对象将序列化为 xml,我将把这个 XML 传递给 SOAP,服务会处理它。我希望你现在已经很清楚了。
  • @manoj - 你的主题是“将数据集映射到文本字段” - 你可以使用 UITextField 的标签属性吗?也许你需要一些散列函数来运行你的行键以获得一个唯一的整数,然后你可以用它来标记你的字段。
  • @Mike:好吧,我知道如何解决一件事,就像你提到的标签一样。但是你能建议任何方法,以便我的班级在我更改文本字段中的某些内容时足够智能,它会为我创建一个数据集并将其保存以供将来使用,直到我点击保存按钮提交到远程服务.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-12
  • 1970-01-01
  • 1970-01-01
  • 2021-10-13
  • 2023-03-09
  • 1970-01-01
  • 2011-04-24
相关资源
最近更新 更多