在按钮上打开一个新的ViewController如果输入的文本与Parse字符串匹配,请单击

时间:2015-09-03 00:07:42

标签: ios swift parse-platform uibutton viewcontroller

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

到目前为止,我有一个邮政编码的文本字段和一个标有“检查可用性”的按钮。

我有一个Parse后端,我使用他们的设置指南测试了它的连接,它可以工作。

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

当前代码:

class checkAvailability: UIViewController {

@IBOutlet weak var zipCode: UITextField!
@IBAction func checkAvailBtn(sender: AnyObject) {
    performSegueWithIdentifier("beginSignUp", sender: self)
}

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
            if let zipCodes = objects as? [PFObject] {
                if zipCodes.contains({ $0["zipCodes"] == usersZipCode) {
                print("your in!") // transition to the new screen
                }
                else {
                print("your out.") // do whatever
                }
                }
            } else {
                // Log details of the failure
                println("Error: \(error!) \(error!.userInfo!)")
            }
        }

override func viewDidLoad() {
    super.viewDidLoad()

    //Code
}

谢谢

1 个答案:

答案 0 :(得分:1)

创建PFQuery以将邮政编码列表下拉到应用程序中,然后只需检查用户输入的字符串是否在列表中。

- 编辑 -

    let query = PFQuery(className:"ZipCode")
    query.findObjectsInBackgroundWithBlock {
        (objects: [AnyObject]?, error: NSError?) -> Void in

        if error == nil {
            // The find succeeded.
            print("Successfully retrieved \(objects!.count) zip codes.")
            // Do something with the found objects
            if let zipCodes = objects as? [PFObject] {
                if zipCodes.contains({ $0["zip_code"] as! String == usersZipCode }) {
                    print("your in!") // transition to the new screen
                }
                else {
                    print("your out.") // do whatever
                }
            }
        } else {
            // Log details of the failure
            print("Error: \(error!) \(error!.userInfo)")
        }
    }