1

我正在构建一个应用程序,需要在打开应用程序之前输入访问凭据(组织代码、访问代码)。当用户第一次输入访问权限时,我们需要保存首选项。当用户再次打开应用程序时,他需要自动继续应用程序而不是访问凭据。

我在这里构建代码

log cat 中没有错误,但没有保存首选项。我需要保存首选项并在用户打开应用程序时加载。我在代码中做错了吗?

4

1 回答 1

5

这个常用功能是将您的数据添加到 NSUserDefaults.. 看这是类函数,所以您必须使用您的类名来调用它.. 将其写入您的 AppDelegate 实现文件中..

+(void)addToNSUserDefaults:(id)pObject forKey:(NSString*)pForKey
{
    NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
    [defaults setObject:pObject forKey:pForKey];
    [defaults synchronize]; 
}

这是从 NSUserDefaults 获取数据..

+(id)getFromNSUserDefaults:(NSString*)pForKey
{
    id pReturnObject;
    NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
    pReturnObject = [defaults valueForKey:pForKey];
    return pReturnObject;
}

当您启动应用程序时,只需在 AppDelegate 的这个方法中检查这个,

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{
    NSString *strtmp = [AppDelegate getFromNSUserDefaults:YOUR_KEY];

    if(strtmp == nil)
    {
        //User have to enter data to save in User Defaults
    }
    else
    {
        //Application Starts without entering Code, as you have it in your UserDefaults
    }
}
于 2013-05-04T04:55:54.303 回答