ios - 使用 UITableView 验证动态表单的模式

标签 ios validation uitextfield

我有一个类似于 iPhone 和 iPad 上的联系人表单的动态表单。 一个联系人有“静态”信息,如姓氏、名字、地址……他也有“动态”信息,如 friend 、爱好等等……

所以我创建了一个 UITableView,它由不同类型的单元格组成,例如 StaticInformationCellFriendCellHobbyCell .每种类型的单元格都有一个或多个 UItextfield 关于它需要的信息。

它非常适用于 self 细胞验证。我的意思是,当用户编辑一个特定单元格的 UITextField 时,这个单元格可以判断该值是否有效,也可以显示或不显示 UITextField 中的概览。

我的问题是当用户提交表单时 UITableView 不知道整个表单(所有单元格)是否有效。我不知道 UITableView 如何“询问”每个单元格是否有效。

我尝试将创建的单元格存储在 NSMutableSet 中,并向每个单元格发送消息 isValid。不幸的是,我不知道为什么有些单元格“在此重复”Set:

<FriendEditCell: 0x8ddf9e0; baseClass = UITableViewCell; frame = (0 383; 768 70); alpha = 0; hidden = YES; autoresize = W; layer = <CALayer: 0x8db4010>>,
<FriendEditCell: 0x8dcfd80; baseClass = UITableViewCell; frame = (0 383; 768 70); autoresize = W; layer = <CALayer: 0x8d90920>>

我不能使用静态的 UITableView,因为用户可以添加任意数量的 friend 。

您知道如何解决我的验证问题吗?

最佳答案

如果我正确理解了这个问题,但我并不完全确定我理解正确,我会子类化 UITableViewCell,并创建该类型的自定义单元格。对于该单元格,我将创建一个“验证”方法,根据您所说的“有效”单元格检查 uitextfield 的内容。如果单元格有效,此函数将返回 TRUE。提交表单时,我会遍历所有单元格并设置某种标志,如果其中一个“验证”返回错误并停止提交,则该标志会下降。

关于ios - 使用 UITableView 验证动态表单的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20971594/

相关文章:

angular - 无法找出表单验证中的无效模式

objective-c - 调用 becomeFirstResponder 后未调用 shouldChangeCharactersInRange 方法

ios - 在 Swift 上单击文本字段时隐藏 UIButton

ios - Xcode 9 后台获取方案

ios - SWIFT 检查字符串是否以某个字符开头,但第二个字符可以是任何字符

ios - 使用 SDWebImage 在服务器上更改图像时如何更新缓存中的图像

iphone 开发 : when I analyze my app I have potential leak issue

java - flaying Sacer org.xml.sax.SAXParseException 实体 HTML.Version 的声明必须以 > 结尾

asp.net - ASP.NET 的电子邮件地址验证

objective-c - 如何在自定义 UITableView 中获取文本字段