避免空进入

时间:2015-03-29 11:05:15

标签: iphone xcode uitableview swift

伙计们如何避免将空项添加到toDoList表?我一直忙于构建待办事项列表,并在用户未填写文本字段中的任何内容时遇到问题,但他仍然可以将空项目添加到表格中,当我尝试刷表格时#39;有空条目的行我收到致命错误!为什么会这样,以及如何避免添加那些空数据?

好的,我将你的代码添加到我的添加按钮中:但它没有那么多帮助!

@IBAction func addItem(sender: AnyObject) {  
    if "" != item.text {
        // DO Something but don't fill the row (**item** is my text field)
        toDoList.append(item.text)
        item.text = ""

        NSUserDefaults.standardUserDefaults().setObject(toDoList, forKey: "toDoList")

    }else{
         labelField.text = "Please enter an item!"
    }
}

3 个答案:

答案 0 :(得分:0)

在添加项目的方法中,只需检查UITextField实例的text属性,如果它包含字符串,则添加项目

if "" != textField.text {
}

虽然使用我提供的解决方案有一些缺点,例如用户只需输入空格作为输入,但它可以完成工作。您也可以使用正则表达式来限制您希望用户输入的输入。

答案 1 :(得分:0)

你可以控制像这样的项目的输入

if "" == textField.text {
// DO Something but don't fill the row
}

并且对于滑动问题,您可以实现以下方法

optional func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) { 
    if commitEditingStyle == .Delete {
        // Delete the row, and the item in the array
    }
}

答案 2 :(得分:0)

好的,修好了!这就是我做到的:

if item.text != "" {
        // DO Something but don't fill the row

     toDoList.append(item.text)
}else{

    labelField.text = "Please enter an item!"
    }