例如,我有两个类 Player
和 Game
,Game
有一个字段 player
是指向 Player
的指针。正如 Parse 文档所说,save
是递归的,所以我假设我可以通过仅保存 game
来保存 player
,就像:
let player = PFObject(className: "Player")
player["name"] = ABC
let game = PFObject(className: "Game")
game["player"] = player
game["round"] = 1
game.saveInBackground()
这是真的吗?
好吧,现在假设这是真的,那么通过只保存游戏
来改变player
的name
怎么样?喜欢:
let player = game["player"] as! PFObject
player["name"] = BCD
game["round"] = 2
game.saveInBackground()
你能回答这两个问题吗?谢谢。
另一个问题:如果我想获取player["name"]
,在查询时是否需要使用
?includeKey("player")
游戏
最佳答案
是的,当您保存包含指向其他对象的指针的对象时,递归保存是正确的。所有指向的对象都将被保存。由于
<game
指向player
,player
在保存game
时也会被保存。相关对象的变化,比如球员的名字,也应该根据(1)进行保存。
由于查询不会以相应的递归方式自动检索相关对象,因此您在检索游戏时需要使用 includeKey 来检索相关的 Player 对象是正确的。
关于ios - 解析 : change a pointer's value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33717620/