ios swift解析:深度查询及其结果数据存在一般性问题
在理解解析中处理深层指针结构的正确方法时,我仍然存在一些问题 例如: 卡片有指向卡片集的指针 卡片集有指向课程和用户的指针 比如说,我想要所有的卡片,包括ios swift解析:深度查询及其结果数据存在一般性问题,ios,swift,parse-platform,Ios,Swift,Parse Platform,在理解解析中处理深层指针结构的正确方法时,我仍然存在一些问题 例如: 卡片有指向卡片集的指针 卡片集有指向课程和用户的指针 比如说,我想要所有的卡片,包括 Lesson.name 每个卡组的卡数 我可以在一个查询中查询所有这些吗? 并且在没有任何额外的fetchifneedededbackgroundithblock查询的情况下,数据是否可用 我知道我能从中得到教训 var query = PFQuery(className: "CardSet") query.whereKey("user"
- Lesson.name
- 每个卡组的卡数
fetchifneedededbackgroundithblock
查询的情况下,数据是否可用
我知道我能从中得到教训
var query = PFQuery(className: "CardSet")
query.whereKey("user", equalTo: PFUser.currentUser())
query.includeKey("lesson")
但这只给了我一个lesson对象,我无法访问这个类中的任何数据(比如col“name”),除非我使用fetchifneedededbackgroundithblock
什么需要另一个查询,当然也需要更多的时间来加载
我可以做些什么来获取所有查询的数据
包括所有指针列
为了使用将此数据固定到本地数据存储
PFObject.pinAllInBackground(对象,块:nil)
不要忘记,如何查询与卡片集相关的卡片数量?首先,我建议在Parse中进行子类化,它可以使表(指针等)之间的关系更清晰。 如何对可以在解析时探索的PFObjects进行子类化 如何查询卡套中的卡数 你需要一套你想要的卡片。(PFObject或子类PFObject)。 那么就这样做:
var query = PFQuery(classname: "cards")
query.whereKey("CardSet", equalTo: yourCardSetObject)
//Synchronously
query.findObjects().count
//Asynchronously
query.findObjectsInBackgroundWithBlock({
(objects, error) in
if error != nil {
println(error.localizedDescription)
return
}
objects.count
})
如何获取课程名称
正如我所说的,建议对PFObjects进行子类化,因为您需要对对象进行强制转换,这对于调试来说并不有趣,而且是可怕的代码。
我是这样做的:
var query = PFQuery(className: "CardSet")
query.whereKey("user", equalTo: PFUser.currentUser())
query.includeKey("lesson")
query.findObjectsInBackgroundWithBlock({
(objects, error) in
if error != nil {
println(error.localizedDescription)
return
}
for object in objects as? [PFObject] {
var lesson = object["lesson"] as PFObject
println(lesson["name"])
}
})