【问题标题】:Swift parse check user entered input and refresh valueSwift 解析检查用户输入的输入和刷新值
【发布时间】:2016-02-25 19:05:42
【问题描述】:

我正在尝试检查用户输入的数据是否与类中的对象数据匹配。比较作品,但刷新没有。

这是代码。

let query = PFQuery(className: "registeredCodes")
    query.whereKey("code", equalTo: userCodeEnter.text!)
    query.getFirstObjectInBackgroundWithBlock {
        (object: PFObject?, error: NSError?) -> Void in
        if error != nil || object == nil {
            print("The getFirstObject request failed.")
        } else {
            // The find succeeded.
            print("Successfully retrieved the object.")
            let totalPoints = PFUser.currentUser()?["points"] as? Int
            self.userPointsLabel.text =  "Punkte: " + "\(totalPoints)"


        }
            }

之后

let totalPoints = PFUser.currentUser()?["points"] as? Int
            self.userPointsLabel.text =  "Punkte: " + "\(totalPoints)"

它只是在原始号码前面加上一个“可选”,而不是新号码。它看起来像optional(5)

【问题讨论】:

  • 所以没有更新号码?你在哪里更新它?
  • @Wain 现在手动解析。
  • 您是否将用户更新拉到某个地方?您的代码显示您拉取不同类型的对象,而不是当前用户。
  • @Wain After the print("Successfully retrieved the object.") 我正在尝试,但不起作用,所以我在问我做错了什么;)

标签: ios swift input parse-platform refresh


【解决方案1】:

您的代码正在查询registeredCodes 类(从服务器中提取一个对象,并进行一些检查)。然后,完成后,您的代码将使用PFUser.currentUser 执行某些操作。这是一个不同的班级。该查询不会导致对PFUser.currentUser 的更新。

如果 PFUser.currentUser 预计会发生变化,那么您需要在其上调用 refreshInBackgroundWithBlock: 以获取这些更新,以便您可以使用它们(它们将在调用完成块时准备就绪。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-05
    • 1970-01-01
    • 2017-08-10
    相关资源
    最近更新 更多