2015-11-03 114 views
3

我正在嘗試製作一個正在運行的應用程序,用戶將在該應用程序中註冊並擁有自己的帳戶。但是當用戶註冊時,我正在使用默認的Parse signUpViewController。我在Parse的User類中有一列是馬拉松完成的。在爲新用戶註冊該列的值未定義時,是否有一種方法可以爲用戶註冊時設置默認值?這將能夠在以下部分完成嗎?當新用戶註冊時爲Parse列設置默認值

func signUpViewController(signUpController: PFSignUpViewController, didSignUpUser user: PFUser) { 

    self.dismissViewControllerAnimated(true, completion: nil) 

} 

我正在使用swift,xcode7和解析作爲我的後端。

回答

4

在用戶類的beforeSave之前使用雲代碼來分配默認值(如果它是新創建的)。以下是一些代碼示例。

Parse.Cloud.beforeSave(Parse.User, function(request, response) { 
    // Check if the User is newly created 
    if (request.object.isNew()) { 
     // Set default values 
     request.object.set("marathonsCompleted", 0); 
     request.object.set("someBooleanColumn", true); 
     request.object.set("someStringColumn", "someDefaultString"); 
    } 
    response.success(); 
}); 
+0

在哪裏可以在didSignUpUser中設置? – Ace

+1

它不在'didSignUpUser'內。解析雲代碼允許您在後端基礎架構上運行功能。這只是一小部分工作,但云代碼功能非常強大,可讓您跨平臺利用相同的核心邏輯,即時部署新代碼而無需進行應用程序更新,以及大量其他優點。在線查看使用雲代碼的指南:https://parse.com/docs/cloudcode/guide – Russell

+1

雲代碼還允許您設置各種觸發器,例如'beforeSave'和'afterSave',可以爲您的任何解析類。它們使您能夠在Parse更強大的服務器上執行其他邏輯,而無需使用任何其他API請求。這也是爲什麼答案是用Javascript而不是Swift編寫的。當我說花時間利用它時,所有Parse的雲代碼都使用Javascript並相信我。 Cloud代碼允許你將幾乎所有的應用程序的邏輯抽象爲Parse的後端服務 – Russell