将解析指针设置为PFUser以外的类 [英] Setting Parse Pointer to Class Other than PFUser

查看:101
本文介绍了将解析指针设置为PFUser以外的类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图设置一个从类"中的对象到学校"中的对象的指针.这样做时,我会收到此错误:

I am trying to set a pointer from an object in "Classes" to an object in "Schools". When I do so, I get this error:

重点学校的类型无效,预期为*学校,但有字符串(代码: 111,版本:1.12.0)

invalid type for key school, expected *Schools, but got string (Code: 111, Version: 1.12.0)

我知道错误是在说它期望类"Schools"的指针,但是却得到了一个字符串.这是我的代码:

I know that the error is saying that it expects a pointer for class, "Schools", but it got a string instead. Here is my code:

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. *我知道我的错误处理尚未正确设置

The above code is querying for the objectId of the correct "Schools" object and then setting data to another class, "Classes", for which I need the objectId from the "Schools" object. * I know my error handling isn't set up properly yet

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

If I replace classInfo["school"] = schoolObjectId with classInfo["school"] = PFUser.currentUser() the pointer is sent to Parse with no problem. How can I set the pointer to "school_name" in class "Schools" as a pointer rather than a string?

提前感谢您的帮助!

推荐答案

解析中的指针不仅仅是objectId.您必须反转ParseObject,而不仅是objectId.

a Pointer in Parse isn't just the objectId. You have to invert the ParseObject, not only the objectId.

PFUser.currentUser()返回用户解析对象.这就是为什么它起作用.

PFUser.currentUser() returns the User Parse Object. Thats why it works.

尝试:

classInfo["school"] = object

这篇关于将解析指针设置为PFUser以外的类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆