我正在尝试检索 PFObject,将投票计数加 1 并重新保存到 Parse。
我正在使用 Swift 成功检索 PFObject,但是当我尝试使用 incrementKey() 函数递增嵌套值时遇到了麻烦。
我第一次尝试:
var query = PFQuery(className:"Quests")
query.getObjectInBackgroundWithId(questId) {
(retrievedQuest: PFObject?, error: NSError?) -> Void in
if error != nil {
println(error)
} else {
if let theQuest = retrievedQuest {
if let options = theQuest["options"]{
println(options[row])
options[row].incrementKey("votes", byAmount: 1)
}
}
}
}
我收到以下错误:
-[__NSDictionaryM incrementKey:byAmount:]: unrecognized selector sent to instance 0x7f8acaf97dd0
我接下来尝试了:
var options = theQuest["options"] as! [PFObject]
并得到:致命错误:NSArray element failed to match the Swift Array Element type
接下来,我尝试分解 PFObject 中的元素以尝试手动增加“投票”
var query = PFQuery(className:"Quests")
query.getObjectInBackgroundWithId(questId) {
(retrievedQuest: PFObject?, error: NSError?) -> Void in
if error != nil {
println(error)
} else {
if let theQuest = retrievedQuest {
var options = theQuest["options"] as! NSArray
var theOption = options[row] as! NSDictionary
var theVotes = theOption["votes"] as! Int
theVotes++
retrievedQuest?.saveInBackground()
很明显,以这种方式增加 theVotes 不会影响检索到的任务,保存检索到的任务不会反映任何投票的更新。
关于如何获得我想要的结果的任何想法?