如何保存iPhone应用程序的用户首选项?

时间:2013-05-04 04:40:44

标签: iphone objective-c xcode settings

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

And I build the code here

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

1 个答案:

答案 0 :(得分: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
    }
}