查看tableView每一行的textField
Posted
技术标签:
【中文标题】查看tableView每一行的textField【英文标题】:Check textField in each row of tableView 【发布时间】:2015-08-20 18:06:21 【问题描述】:情况是这样的: 我有一个 3 行的 tableView。在这个 tableView 中,有一个带有 textField 的 tableVIewCell 原型。此 textField 用于 tableView 的每一行(不同)。 我的问题是:如何检查每个 textField 是否为空?我猜是一个 If 语句,但我不明白如何分别检查所有文本字段。有人可以帮帮我吗?
我的 tableView 的一个例子: http://imagizer.imageshack.us/a/img540/2130/UsUNO3.png
【问题讨论】:
【参考方案1】:过去我必须这样做,这是我使用的方法:
for index in 0...(cellCount - 1)
var indexpath = NSIndexPath(forRow: index, inSection: 0)
if let cellAtIndex = tableView.cellForRowAtIndexPath(indexpath) as? ContestantsTableViewCell
var newContestantString = cellAtIndex.contestantNameField.text
if !newContestantString.isEmpty
contestants.append(newContestantString)
我只是使用cellForRowAtIndexPath
获取索引路径中的单元格,然后通过将其转换为我的自定义类型从单元格中获取属性。
【讨论】:
【参考方案2】:如果您知道始终只显示 3 个单元格,那么您可以保持对每个单元格和每个单元格文本字段的引用,并在需要时检查长度。
【讨论】:
【参考方案3】:可以使用 indexpath.row(Tableview) 在每一行中检查您的文本字段
if(indexpath.row == 0)
if(cell.textfield.text == "")
//1st textfiled empty
else if(indexpath.row == 1)
if(cell.textfield.text == "")
//2nd textfiled empty
else if(indexpath.row == 2)
if(cell.textfield.text == "")
//3rd textfiled empty
【讨论】:
这可行,但我们如何将单元格中的所有文本字段文本附加到数组中?【参考方案4】:好的,您可以创建如下函数。您可以将此函数用于任意数量的单元格,不要使用if else
条件。您还可以将此函数用作文本字段验证。
func getCellsDataOn() -> Bool
for section in 0 ..< self.tableView.numberOfSections
for row in 0 ..< self.tableView.numberOfRows(inSection: section)
let indexPath = NSIndexPath(row: row, section: section)
let cell = self.tableView.cellForRow(at: indexPath as IndexPath) as! YourCell
if (cell.txtField!.text! != "")
print("Not Empty")
//Handle your function
else
print("Empty")
return false
return true
希望对您有所帮助,谢谢。
【讨论】:
以上是关于查看tableView每一行的textField的主要内容,如果未能解决你的问题,请参考以下文章
QT中,我将一张数据库表显示在tableView上,我需要去设置或修改tableView上每一行的颜色,该怎么做?
为 UITableView 的每一行推送不同的 UIView