如何在Cocoa Touch应用程序中实施“首次用户注册”工作流程?

use*_*003 1 cocoa-touch objective-c ios

我正在我的应用程序中实现“新用户注册”

用户首次登录时,我想让他们完成一个4步骤的注册过程,以创建其用户名,设置其个人资料照片等。每个步骤都将是一个不同的屏幕。

所有这些只需完成一次。我在想 -

  1. 这四个屏幕的最佳设置是什么?应该将UINavigationController它们实现为“堆栈”吗?即用户可以返回到先前的屏幕?

  2. 如何保存注册状态?我想知道用户在中途离开时要采取的步骤,或者一般来说我是否应该显示注册信息(即这是否是他们的第一次)。有没有一种方法可以存储已完成的步骤数,以使numStepsCompleted == 0我知道它们尚未开始,是否numStepsCompleted < 4知道它们已经开始但尚未完成?

通常,如果在线上有任何代码示例实现了这样的功能,那么最好看一下。

谢谢!

And*_*rea 5

我将从您的根视图控制器模态地呈现一个UINavigationController。用户完成一项操作后,您可以做两件事:

  1. 保存在NSUserDefaults中,用户已经完成注册过程。如果用户删除该应用程序,则该标志将随之删除。
  2. 将个人信息(如用户名和密码)保存在钥匙串中,它们将在删除应用程序后继续存在,这对于静默登录过程很有用,并且会被加密。

首先要做这样的事情

+ (BOOL)isFirstTime{
    static BOOL flag = NO;
    static BOOL result;
    if(!flag){
        if ([[NSUserDefaults standardUserDefaults] boolForKey:@"hasBeenLaunchedOnce"])
        {
            result = NO;
        }
        else
        {
            [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"hasBeenLaunchedOnce"];
            [[NSUserDefaults standardUserDefaults] synchronize];
            result = YES;
        }

        flag = YES;
    }
    return result;
}
Run Code Online (Sandbox Code Playgroud)

如果这是第一次启动,请显示注册/登录过程,如果不是,则从钥匙串中获取用户名和密码。