【问题标题】:How to convert AnyObject to PFObject/PFUser in swift?如何快速将 AnyObject 转换为 PFObject/PFUser?
【发布时间】:2014-11-12 02:50:21
【问题描述】:

我正在为用户变量设置 PFRelation,我想将文本字段中的文本添加为​​ PFRelation。首先我查询输入的用户名是否存在,然后我将返回的对象设为 PFUser。然后我尝试将 PFUser 添加到 PFRelation,这就是它崩溃的地方,因为 AnyObject 不能被向下转换为 PFUser/PFObject。我该怎么做呢?

    var userQuery = PFUser.query()

userQuery.whereKey("username", equalTo: newUsername.text)
userQuery.findObjectsInBackgroundWithBlock { (objects, error) -> Void in

    if error == nil {

        for object in objects{
            if objects.count > 0 {
                var PFRelation = PFUser.currentUser().relationForKey("friends")
                var addRelation = object["username"] as PFUser
                PFRelation.addObject(addRelation)

                PFUser.currentUser().saveInBackgroundWithBlock{
                  (succeeded: Bool!, error: NSError!) in

                    if error == nil {
                       println("newuser added")
                    }
                    else {
                       println(error.userInfo)
                    }

谢谢!!

【问题讨论】:

    标签: swift parse-platform


    【解决方案1】:

    据我了解,它无法完成,因为 PFObject/PFUser 就像一个数组。因此,我不能只将一个对象转换为数组。我还使用 getFirstObjectInBackgroundWithBlock() 代替,因为它返回一个 PFObject 而不是 AnyObject,不确定这是否有所作为。以下是我的工作代码。

    var userQuery = PFUser.query()
    
    userQuery.whereKey("username", equalTo: newUsername.text)
    userQuery.getFirstObjectInBackgroundWithBlock{ (object, error) -> Void in
    
        if error == nil {
                    println(object)
                    var PFRelation = PFUser.currentUser().relationForKey("friends")
                    var addRelation = object
                    if addRelation != nil {
                    PFRelation.addObject(addRelation)
                    println("new relation added")
                    }
                    PFUser.currentUser().saveInBackgroundWithBlock{
                      (succeeded: Bool!, error: NSError!) in
    
                        if error == nil {
                           println("newuser saved")
                        }
                        else {
                           println(error.userInfo)
                        }
                    }
                }
    
        else {
                println(error)
             }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-02
      • 2019-04-04
      • 2020-01-25
      相关资源
      最近更新 更多