我正在尝试从Parse加载一个关于Swift中的Object的信息页面。给出的代码允许您一次检索整个类。但是如何在不访问Parse上的仪表板的情况下检索ObjectID?
此代码来自Parse
var query = PFQuery(className:"GameScore")
query.getObjectInBackgroundWithId("xWMyZEGZ") {
(gameScore: PFObject?, error: NSError?) -> Void in
if error == nil && gameScore != nil {
println(gameScore)
} else {
println(error)
}
}
一切都很直接但我仍然不知道如何随机生成ObjectID。
答案 0 :(得分:1)
如果我正确理解您的问题,您想要查询所有对象并列出其ID,例如:
var query = PFQuery(className:"GameScore")
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in
if error == nil {
println("Successfully retrieved \(objects.count) scores.")
//list of Ids
for object in objects {
objectIds.append(object.objectId as String)
}
} else {
println("\(error)")
}
}
答案 1 :(得分:0)
执行此操作的最佳方法是在解析仪表板中包含2个单独的类。 根据您的示例,一个用于carTypes,另一个类carDetails带有指向carTypes的指针。
当您点击汽车时,您可以使用carTypes中的objectId查询carDetails类。
例如
// you have to give this object some value when you click on a button or cell..etc
var selectedCar : PFObject?
//in the query i didn't use selectedCar.objectId because i am using pointers to the carType class so parse will get the objectId for you
let query = PFQuery(className: "carDetails")
query.whereKey("carType", equalTo: selectedCar)
query.findObjectsInBackgroundWithBlock({ (object: [PFObject]?,error: NSError?) -> Void in
if error == nil {
some code here
}
})
我希望这能澄清