尝试更新PFObject时,我一直收到此错误'[错误]:没有结果与查询匹配。 (代码:101,版本:1.12.0)”,这是我的代码:
let userQuery = PFQuery(className: "User")
userQuery.getObjectInBackgroundWithId("cE3DE48Fa9") {
(userQueryObject: PFObject?, error: NSError?) -> Void in
if error != nil {
print(error)
}
else if let userQueryObject = userQueryObject {
userQueryObject["House_Motto"] = self.campaignMottoTextBox.text
userQueryObject.saveInBackground()
} }
我该怎么办?
这是我的新代码:
currentUser!.setObject(self.campaignMottoTextBox.text!, forKey: "House_Motto")
最佳答案
这是一个如何使用PFUser.query()
在解析中查询用户类的示例,请注意我的示例使用findObjectsInBackgroundWithBlock()
而不是getObjectsInBackgroundWithId()
var userData1 = [String]()
var userData2 = [Double]()
var allUsers = [PFUser]()
func fetchUserData() {
let userQuery: PFQuery = PFUser.query()!
userQuery.orderByAscending("username")
userQuery.whereKey("username", notEqualTo: (currentUser?.username)!)
userQuery.findObjectsInBackgroundWithBlock({
(users, error) -> Void in
var userData = users!
if error == nil {
if userData.count >= 1 {
for i in 0...users!.count-1 {
self.userData1.append(userData[i].valueForKey("columnNameInParse1") as! String)
self.startTimes.append(userData[i].valueForKey("ColumnNameInParse2") as! Double)
}
}
self.allUsers = users as! [PFUser]
self.tableView.reloadData()
} else {
print(error)
}
})
}
为了更新给定用户的值,您需要...
func updateObjectInParse(){
currentUser?.setObject(campaignMottoText.text, forKey: "columnNameInParse")
currentUser?.saveInBackground()
}
其中,
"columnNameInParse"
是要在解析中更新的对象的列名。这是区分大小写的。而currentUser是PFUser.currentUser
关于swift - [错误]:没有结果与查询匹配。使用Swift解析(Code:101,Version:1.12.0),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35280307/