gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 12:47:23 24 4
gpt4 key购买 nike

好吧,我开始在这里头疼了...一旦我的用户登录到我的应用程序,我就会在解析时创建一个名为 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com