我有一個名爲SearchPreferences的類名,它是空的,直到當前用戶進行選擇。當他們做出選擇時,在這個類中用更新的信息創建一個新行。問題是如果用戶返回並做出另一個選擇,我將再次創建一個新行,而不是僅更新列。這裏是保存信息,但在新的一行代碼:`檢查Parse中是否存在行,如果它更新行中的列而不是每次創建新行。 Swift
let music = PFObject(className: "SearchPreferences")
music["music"] = table_data[indexPath.row]
// music["user"] = PFUser.currentUser()!.username!
music.saveInBackgroundWithBlock{(success, error) -> Void in
if error == nil {
music.saveInBackground()
print("success")
} else {
print("error")
}
}
` 所有我能找到的是SQL和PHP的在線幫助。我試過下面的代碼來調用objId,但我不知道它是空的,所以它返回下面的錯誤。 下面的代碼返回錯誤
沒有結果與查詢匹配。 (代號:101,版本:1.7.5)
let query = PFQuery(className:"SearchPreferences")
query.getObjectInBackgroundWithId("musicSearch") {
(searchPreference: PFObject?, error: NSError?) -> Void in
if error != nil {
if let searchPreference = searchPreference {
searchPreference["musicSearch"] = self.table_data[indexPath.row]
searchPreference.saveInBackground()
if error == nil {
query.whereKeyDoesNotExist("musicSearch")
let searchPreference = PFObject(className: "SearchPreferences")
searchPreference["musicSearch"] = self.table_data[indexPath.row]
searchPreference.saveInBackgroundWithBlock{(success, error) -> Void in
同樣可以爲這樣的嘗試來發送:
var query = PFQuery(className:"SearchPreferences")
query.getObjectInBackgroundWithId("musicSearch") {
(searchPreference: PFObject?, error: NSError?) -> Void in
if error != nil {
print(error)
} else if let searchPreference = searchPreference {
searchPreference["musicSearch"] = self.table_data[indexPath.row]
searchPreference.saveInBackground()
}
}
我試圖運行查詢,檢查如何之前要弄清楚如果它是空的,並且它是執行我最初的查詢。解析文檔只告訴你如何保存到類名_用戶不是第二個類名。
謝謝法哈德我會看一看,然後投票你的答案。 – Grace