斯威夫特& Parse.com按特定列查找而不是ID

时间:2014-11-23 18:44:44

标签: swift parse-platform

参考:http://blog.parse.com/2014/06/06/building-apps-with-parse-and-swift/

我试图找到一个列值:userPassword,基于userName列。使用Parse的上述参考显示,要从解析中获取数据,您应该使用:

 var query = PFQuery(className: "GameScore")
 query.getObjectInBackgroundWithId(gameScore.objectId) {
 (scoreAgain: PFObject!, error: NSError!) -> Void in
  if !error {
    NSLog("%@", scoreAgain.objectForKey("playerName") as NSString)
  } else {
    NSLog("%@", error)
  } 
 }

但是,你可以看到它正在寻找(gameScore.objectId) - 问题是我不知道这个值,因为用户没有输入复杂的解析生成的ID。他们正在输入他们选择的用户名。在行中我设置了userName和Password。如何在行中搜索userPassword,以便我可以根据指定的userName对其进行验证。

提前致谢

1 个答案:

答案 0 :(得分:3)

为什么要查询数据库中的用户名和密码。使用Parse添加新用户非常简单。直接取自他们的文档:


在Parse

上查询用户表

您可以使用PFQuery首先查询用户表:

PFQuery *query = [PFUser query];
[query whereKey:@"username" equalTo:username];

添加新用户

用户帐户的想法是让人们以安全的方式访问他们的信息并与他人分享,这是任何社交应用程序的核心。无论您的应用是创建自己的共享环境还是与现有社交网络集成,您都需要添加功能,让人们在您的应用中管理自己的帐户。

我们提供一个名为PFUser的专用用户类,可自动处理用户帐户管理所需的大部分功能。

首先确保包含我们的.h文件中的SDK库:

#import <Parse/Parse.h>

然后将此代码添加到您的应用中,例如在viewDidLoad方法中(或在您运行应用时调用的另一个方法内):

    func myMethod() {
    var user = PFUser()
    user.username = "myUsername"
    user.password = "myPassword"
    user.email = "email@example.com"
    // other fields can be set just like with PFObject
    user["phone"] = "415-392-0202"

   user.signUpInBackgroundWithBlock {
     (succeeded: Bool!, error: NSError!) -> Void in
     if error == nil {
       // Hooray! Let them use the app now.
     } else {
       let errorString = error.userInfo["error"] as NSString
       // Show the errorString somewhere and let the user try again.
     }
  }
}

此调用将在您的Parse应用程序中异步创建新用户。在此之前,它会检查以确保用户名和电子邮件都是唯一的。它还可以安全地在云中哈希密码。

您可以访问我们的文档,详细了解用户,包括如何验证电子邮件以及处理数据的读写权限。

运行您的应用。类User的新对象将被发送到Parse Cloud并保存。准备就绪后,单击下面的按钮测试用户是否已创建。

另外

如果您仍希望沿着手动查询服务器的路线创建一个关于连接解析的教程:

http://ios-blog.co.uk/tutorials/swift-create-user-sign-up-based-app-with-parse-com-using-pfuser/