在Swift中解析objectID
问题描述:
我想从Parse中加载一个关于Swift中Object的信息页面。给出的代码允许您一次检索整个班级。但是,如何在不访问Parse上的仪表板的情况下检索ObjectID?在Swift中解析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)
}
}
一切是直线前进,但我还是不知道如何获得随机生成的对象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)")
}
}
答
做到这一点,最好的方法是在你的仪表盘解析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
}
})
我希望这个澄清
不,我只想从PFObject拉一行。例如,如果我点击一个雪佛兰Camaro图标,它会拉动轮胎数量,门数,灯光数量等。仅适用于该车型,并不适用于该类车型中的所有其他车型。我希望我说的是正确的方法。 – ishkur88