嗨我想做这样的事情。我的申请有一个注册过程。当用户在注册页面输入他们的电话号码并点击注册时,用户将获得一个PIN码作为短信。用户还可以重定向到PIN验证ViewController
。
我想要做的是让用户在应用程序中保持当前状态。这意味着如果用户输入电话号码,并且在收到短信而没有输入密码后,他可以关闭应用程序。因此,下次打开应用时,应加载验证ViewController
。为此,我必须将应用程序的状态保留在手机中。
我如何存储这个。我可以使用KeychainItemWrapper
吗?如果是这样,我可以通过更改标识名称来生成多个KeychainItems
。
请帮帮我。
由于
答案 0 :(得分:1)
您可以使用NSUserDefaults
:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// ...
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *registrationStatus;
if (![defaults objectForKey@"registrationStatus"])
registrationStatus = @"notRegistered";
else
registrationStatus = [defaults objectForKey@"registrationStatus"];
if ([registrationStatus isEqualToString:@"notRegistered"]) {
// show registration form
// When sending the SMS, you store the current status in NSUserDefaults like this
// [defaults setObject:@"registeredButNotValidated" forKey:@"registrationStatus"];
// [defaults synchronize];
} else if ([registrationStatus isEqualToString:@"registeredButNotValidated"]) {
// show validation form
// When validated, you store the current status in NSUserDefaults like this
// [defaults setObject:@"registered" forKey:@"registrationStatus"];
// [defaults synchronize];
} else {
// registered
}
return YES;
}
答案 1 :(得分:0)
NSUserDefaults是最简单的方法:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:firstName forKey:@"firstName"];
并检索:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *firstName = [defaults objectForKey:@"firstName"];
是的,它会在应用关闭后停留。