arrays - 如何使用 swift 从解析服务器上的类中检索 objectID

标签 arrays swift parse-platform cloud

好吧,我开始在这里头疼了...一旦我的用户登录到我的应用程序,我就会在解析时创建一个名为 PFUser.Current()?.objectId! 的新类在这个类中,我存储了所有用户信息,并且用户可以从任何设备访问它,因为他的用户 ID 永远不会改变。我在用户类中存储的内容之一是一个数组,这让我想到了我的问题:我希望能够访问这个数组,但实现这一点的唯一方法是使用:

var query = PFQuery(className: "\(PFUser.current()?.objectId!)") // Calling the user class
    query.getObjectInBackground(withId: "") { (object: PFObject?, error: Error?) in

        if error != nil {
            print(error)

        } else {

            print(object)
        }
    }

问题是我不知道如何从 UserObjectID 类中检索 objectID。

我找到了一些代码,可以让我检索用户列表并将用户名和 ID 附加到数组中:

var query = PFUser.query()

    query?.findObjectsInBackground { (objects, error) in

        if let users = objects {

            for object in users {

                if let user = object as? PFUser {

                self.usernames.append(user.username!)
                self.userids.append(user.objectId!)

                }
            }
        }   
    }

我如何进行类似的搜索,并找到我的个人 userClass 而不是 superUser 类中的所有 objectID?

最佳答案

您确定要为每个用户创建一个新类别吗?你最终会得到大量的表,每张表有 1 行。最好将数组添加为当前 _User 表中的列,或者创建一个新表并使用指针在其中保存所有用户数组。

话虽如此,如果您的新表是根据用户的 objectId 命名的,那么您应该能够使用以下命令查询该类:

var userId: String = ""

let userClassName = PFUser.current()!.objectId!

let query = PFQuery(className: userClassName)
// as there is only 1 row get the first
query.getFirstObjectInBackground { (object, error) in
    if error != nil || object == nil {
        print("nothing here try again")
    } else {
        userId = object?.objectId
    }
}

如果您有一个包含许多用户和指针的表,请使用以下几行作为指导

let userObjectId =  PFUser.current()!.objectId!
query.whereKey("yourPointerName", equalTo: PFObject(outDataWithClassName: "theClassYouWantToQuery", objectId: userObjectId))

关于arrays - 如何使用 swift 从解析服务器上的类中检索 objectID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41464934/

相关文章:

ios - 继承 UIVisualEffectView 的问题

c++ - 从串行设备读取数据到数组 C++

c - 传递字符串数组并对它们进行排序(在 C 中)

linux - 在 Linux 上构建 Swift SourceKit

swift - 在 Swift 中传递并打印枚举中的所有情况

ios - 单独的用户类 [解析]

javascript - 根据另一个数组中的数据对数组进行排序

C++ 类模板构造函数——用数组 (U*) 重载引用 (U&) 失败

ios - 获取 NSDate 以根据它的 secondsFromGMT 显示来自另一个时区的日期

java - Android (Java) : Parse. com 没有订阅不是硬编码字符串的 channel ?