我正在构建一个应用程序,需要在打开应用程序之前输入访问凭据(组织代码,访问代码)。当用户第一次输入访问权限时,我们需要保存首选项。当用户再次打开应用程序时,他自动需要继续使用应用程序,但不能使用访问凭据。
log cat中没有错误,但不保存首选项。我需要在用户打开应用程序时保存首选项并加载。我在代码中做错了吗?
答案 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
}
}