【问题标题】:Array of Parse Pointers (Swift) - is This Possible解析指针数组 (Swift) - 这可能吗
【发布时间】:2016-03-19 00:50:18
【问题描述】:

我正在开发一个用户连接(在)多个学校课程的应用程序。由于一个学生将在多个班级,我是否能够设置一个指向单个用户的指针数组或者这是不可能的(也许关系更好)? 这是我的代码:

let classPointerQuery = PFQuery(className: "Classes")
                            classPointerQuery.whereKey("class_name", equalTo: self.classNameTextField.text!)

                            let classQuery = PFQuery.orQueryWithSubqueries([classPointerQuery])

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

                                if let objects = results {

                                    for object in objects {

                                        let userInfo = PFUser.currentUser()!

                                        userInfo["my_classes"] = object

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

                                            if error != nil {

                                                spinningActivity.hideAnimated(true)

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

                                            } else if success {

                                                spinningActivity.hideAnimated(true)

                                                self.dismissViewControllerAnimated(true, completion: nil)

                                            } else {

                                                spinningActivity.hideAnimated(true)

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

                                            }

                                        })

                                    }

                                }

                            })

* 注意:我也尝试将 - userInfo["my_classes"] = object - 更改为 - userInfo["my_classes"] = [object] - 并得到一个错误,“key my_classes 的类型无效,预期 *Classes,但是得到数组(代码:111,版本:1.12.0)”

我在这里做的是查询我想要的类的对象 - 假设用户想要添加类“Physics” - 查询 Parse 类“Classes”中的“class_name”并吐出出对象。然后这个对象被设置为当前用户的“my_classes” -> 一个指针对象。我有一种方法,当用户想要添加“微积分”时,Parse 中的指针对象将有 2 个指针而不是替换当前指针?

提前感谢您的帮助!

【问题讨论】:

    标签: swift pointers parse-platform


    【解决方案1】:

    您不能将指针存储在数组中,您可以将 objectID 作为字符串存储在数组中并像这样进行查询....一般规则是您将指针用于数据库中的 1:many 关系和 many:many 中的关系...

    更新 1 - 将 objectID 保存到 Parse 中的数组

    PFUser.currentUser()!.addObject(somePFObject.objectID!, forKey: "my_classes")
    

    对于您将使用 containsIn 的查询

    querySetup.whereKey("class", containedIn: array)
    

    【讨论】:

    • 一个带有指针数组的 ParseObject 是可能的,我也使用它
    • @MazelTov 所以我认为指针和关系都不是一个好主意。我想我会尝试设置一个对象 ID 的数组!
    • @Manu 你能告诉我你是怎么做到的吗?谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多