2015-11-03 115 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