检查Parse数据库以查看输入的文本是否与字符串匹配时出错

时间:2015-09-03 16:25:16

标签: ios swift parse-platform uiviewcontroller pfquery

我正在尝试使用邮政编码创建一个包含可用性的注册页面。例如,用户只能注册服务在其所在区域(邮政编码)是否可用。

如何检查输入文本以查看它是否与我的Parse数据库中的邮政编码匹配?因此,如果用户输入的邮政编码与解析数据库中的邮政编码匹配,我需要一个名为“注册”的新ViewController来打开,用户可以开始注册/注册。

我当前的代码,它工作,它切换到新视图。但我可以在ZipCode字段中放置任何内容,它会起作用,我不希望这种情况发生。输出也是“成功检索0邮政编码”。

我的解析预先填充了一个名为zipCodes的类,以及类zipCodes中的一个字段,其中包含超过20个zipCodes

以下是代码:

class checkAvailability: UIViewController {

@IBOutlet weak var zipCode: UITextField!
@IBAction func checkAvailBtn(sender: AnyObject) {
    checkZip()
}

func checkZip() {
    var usersZipCode = zipCode.text
    var queryZip = PFQuery(className: "zipCode")
    queryZip.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in
        if error == nil {
            // The find succeeded.
            println("Successfully retrieved \(objects!.count) zip codes.")
            // Do something with the found objects
            self.performSegueWithIdentifier("beginSignUp", sender:     self)
        } else {
                println("error")
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

你必须检查两件事。首先,你正在做error == nil。但也请检查objects!.count > 0。这是你似乎缺少的部分。

类似的东西:

queryZip.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in
    if error == nil && objects!.count > 0 {
        // The find succeeded.
        println("Successfully retrieved \(objects!.count) zip codes.")
        // Do something with the found objects
        self.performSegueWithIdentifier("beginSignUp", sender:     self)
    } else {
            println("error")
        }
    }
}