2015-05-21 37 views
1

如何在單個查詢中更新多個對象進行分析?使用Parse更新多個對象?

以下代碼僅適用於單個條目。

我該如何去更新從數組中獲取的多個值?

var query = PFQuery(className:"GameScore") 
query.getObjectInBackgroundWithId("xWMyZEGZ") { 
(gameScore: PFObject?, error: NSError?) -> Void in 
    if error != nil { 
    println(error) 
    } else if let gameScore = gameScore { 
    gameScore["cheatMode"] = true 
    gameScore["score"] = 1338 
    gameScore.saveInBackground() 
} 
} 
+1

@eric感謝編輯:) – Mugs

回答

5

可以使用​​的方式來保存一批對象的一次,而無需調用保存在他們每個人的獨立。基本上,你把你想要保存的所有對象放到一個數組中,然後調用[PFObject saveAll:yourArray](只是一個例子,你也可以使用saveAllInBackground:)。

下面是Objective-C中的一些示例代碼,我對Swift不太好,但是你可以很容易地翻譯它。

PFQuery *query = [PFQuery queryWithClassName:@"GameScore"]; 
[query findInBackgroundWithBlock:^(NSArray *results, NSError *error) { 
    NSMutableArray *saveAllOfMe = [NSMutableArray new]; 
    for (PFObject *object in results) { 
     object[@"cheatMode"] = @(YES); 
     object[@"score"] = @(1234); 
     [saveAllOfMe addObject:object]; 
    } 
    [PFObject saveAllInBackground:saveAllOfMe block:^(BOOL success, NSError *error) { 
     // Check result of the operation, all objects should have been saved by now 
    }]; 
}]; 

https://www.parse.com/docs/ios/api/Classes/PFObject.html#//api/name/saveAllInBackground:block

+0

感謝。你能用上面的例子幫我解決一些示例代碼: – Mugs

+0

我添加了一個應該工作的簡短示例。我從頭頂寫下它,並不會編譯它,所以它可能需要一些調整:) –

+0

欣賞它。謝謝 – Mugs