【问题标题】:Setting Parse Pointer to Class Other than PFUser将解析指针设置为 PFUser 以外的类
【发布时间】:2016-03-16 21:54:14
【问题描述】:

我正在尝试将指针从“类”中的对象设置为“学校”中的对象。当我这样做时,我收到此错误:

重点学校的类型无效,应为 *Schools,但得到字符串(代码: 111,版本:1.12.0)

我知道错误是说它需要一个指向类“Schools”的指针,但它却得到了一个字符串。这是我的代码:

let schoolObjectIdQuery = PFQuery(className:"Schools")
        schoolObjectIdQuery.whereKey("school_name", equalTo: "\(PFUser.currentUser()!.objectForKey("school_name")!)")

        let query = PFQuery.orQueryWithSubqueries([schoolObjectIdQuery])

        query.findObjectsInBackgroundWithBlock({ (results: [PFObject]?, error: NSError?) -> Void in

            if let objects = results {

                for object in objects {

                    let schoolObjectId = object.objectId!

                    //////////////////

                    let classInfo = PFObject(className: "Classes")

                    classInfo.setObject(className!, forKey: "class_name")
                    classInfo.setObject(teacherName!, forKey: "teacher_name")
                    classInfo["school"] = schoolObjectId

                    classInfo.saveInBackgroundWithBlock({ (success:Bool, error:NSError?) -> Void in

                        if error != nil {

                            spinningActivity.hideAnimated(true)

                            self.displayAlert("Error", message: error!.localizedDescription)

                            print(error?.localizedDescription)        
                        }
                        else if success {

                            spinningActivity.hideAnimated(true)

                            self.dismissViewControllerAnimated(true, completion: nil)        
                        }
                        else {

                            self.displayAlert("Something Went Wrong", message: "Please try again")               
                        }
                    })  
                }  
            }
        })

上面的代码正在查询正确的“Schools”对象的objectId,然后将数据设置到另一个类“Classes”,为此我需要“Schools”对象中的objectId。 * 我知道我的错误处理还没有正确设置

如果我将classInfo["school"] = schoolObjectId 替换为classInfo["school"] = PFUser.currentUser(),则指针将毫无问题地发送到 Parse。如何将“Schools”类中指向“school_name”的指针设置为指针而不是字符串?

提前感谢您的帮助!

【问题讨论】:

    标签: swift pointers parse-platform pfquery


    【解决方案1】:

    Parse 中的指针不仅仅是 objectId。您必须反转 ParseObject,而不仅仅是 objectId。

    PFUser.currentUser() 返回用户解析对象。这就是它起作用的原因。

    试试这个:

    classInfo["school"] = object
    

    【讨论】:

    • 谢谢!这正是我发布后想出的。我稍后会尝试并标记为正确答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多