检查tableView的每一行中的textField

时间:2015-08-20 18:06:21

标签: ios swift uitableview uitextfield is-empty

情况如下: 我有一个包含3行的tableView。在这个tableView中,有一个带有textField的tableVIewCell原型。此textField用于tableView的每一行(以不同方式)。 我的问题是:如何检查每个textField是否为空?我猜一个If语句,但我不明白如何分别检查所有textFields。有人可以帮帮我吗?

我的tableView的一个例子: http://imagizer.imageshack.us/a/img540/2130/UsUNO3.png

4 个答案:

答案 0 :(得分: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在索引路径中获取单元格,并通过将其作为我的自定义类型来获取该单元格中的属性。

答案 1 :(得分:0)

如果您知道只会显示3个单元格,那么您可以保持对每个单元格和每个单元格textField的引用,并在需要时检查长度。

答案 2 :(得分:0)

可以使用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
    }
}

答案 3 :(得分:0)

好的,您可以创建如下所示的函数。您可以对不使用if else条件的任意数量的单元格使用此函数。您也可以将此功能用作textField验证。

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
    }

希望得到帮助,谢谢。