gpt4 book ai didi

ios - 快速解析: can not retrieve the value of a bool in _User class

转载 作者:行者123 更新时间:2023-11-29 02:05:49 24 4
gpt4 key购买 nike

我正在使用 swift 和 Parse 开发一个应用程序。由于某些原因,我在 _User 类中实现了一个名为“modified”的 Bool。几个月来我一直在研究 swift 和 Parse,但这没有意义。

当我尝试检索“修改后的”Bool 的值时,即使它在 Parse 服务器上设置为“true”,我仍然得到“false”值。这是代码:

    var modified: Bool = PFUser.currentUser().objectForKey("modified") as! Bool
println("User Modified Bool is set to: \(modified)")

我也试过

    self.modified = PFUser.currentUser().valueForKey("modified") as! Bool
println("User Modified Bool is set to: \(modified)")

    self.modified = PFUser.currentUser()["modified"] as! Bool
println("User Modified Bool is set to: \(modified)")

我是否必须进行特定查询或是否有直接访问此值的方法?

编辑

我已经实现了一个特定的查询。尽管如此,仍然得到一个“假”值

        var queryMainUser: PFQuery = PFUser.query()
queryMainUser.whereKey("username", equalTo: PFUser.currentUser().username)
queryMainUser.findObjectsInBackgroundWithBlock { (mainUsersObjects, mainUsersError) -> Void in
if (mainUsersError == nil) {
var theRef = mainUsersObjects[0] as! PFObject
self.modified = theRef["modified"] as! Bool
println("Any improvement? \(self.modified)")
}
}

编辑2

按照@danh 的建议,我尝试通过实现以下代码来更新设备上的 currentuser 实例:

        var currentUser = PFUser.currentUser()
currentUser.fetchInBackgroundWithBlock { (object, error) -> Void in
println("Refreshed")
currentUser.fetchIfNeededInBackgroundWithBlock { (result, error) -> Void in

self.modified = currentUser.objectForKey("modified") as! Bool
var idOfUser: String = currentUser.objectId
println("User \(idOfUser) UPDATED")
println(self.modified)
if self.modified == true {
self.deleteData()
self.fetchAllObjects()
}
}
}

当运行控制台时给我这个:

Refreshed
User xTbBw6cNzK UPDATED
false

这是我刚刚截取的服务器端截图: can't get bool from Parse

谢谢大家的关注

最佳答案

我不确定您使用的是哪个版本的 swift。但是,如果您使用的是 Swift 2.0 和 Xcode 7,这应该可以胜任。

这行不通:

let modifiedStatus = PFUser.currentUser()?["modified"] // return value will be nil

这肯定有效:

let modifiedStatus = PFUser.currentUser()?.objectForKey("modified")
print(modifiedStatus) // true as per your table

我知道这听起来可能很奇怪,但有些人在数小时后才意识到我犯了愚蠢的错误。因此,最好先退出当前任务,然后在几个小时后重新检查。因此,请务必交叉检查以下内容:

  • parse主用户类中“修改”的key
  • 您可以检索其他键值(只是为了查看除了您当前检索的键 bool 值之外是否没有其他错误(

虽然我使用的是 Swift 2.0,但可以肯定的是,从 Swift 1.2 迁移到 Swift 2.0 时,此特定代码没有重大变化。

看看,如果还是不行,我们可以就您的设置进行更多讨论。

关于ios - 快速解析: can not retrieve the value of a bool in _User class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29811158/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com