我正在使用NSUserDefaults
在我的应用中保存字符串。一切正常。但是当我通过按两次主页按钮清除缓存/内存时,请终止应用程序并重新启动它,NSUserDefaults
不会保存。
即使清除缓存/内存,有没有办法保存NSUserDefaults
?
以下是我使用的代码:
设置字符串
NSUserDefaults *savedString = [NSUserDefaults standardUserDefaults];
[savedString setObject:@"The string i want to save" forKey:@"savedString"];
[savedString synchronize];
获取字符串
myLabel.text = [savedString stringForKey:@"savedString"];
答案 0 :(得分:1)
在AppDelegate.h文件中
+(NSUserDefaults*)getdefaultvalue;
在AppDelegate.m文件中
static NSUserDefaults *defaultvalue;
+(NSUserDefaults*)getdefaultvalue
{
if (defaultvalue==nil)
{
defaultvalue=[NSUserDefaults standardUserDefaults];
return defaultvalue;
}
return defaultvalue;
}
在您要保存数据或字符串Ex。
的班级中[[AppDelegate getdefaultvalue] setObject:@"FacebookLogin" forKey:@"NORMALOGIN"];
现在从应用中删除并在
中打印字符串的值- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSLog(@" string == %@",[[AppDelegate getdefaultvalue] valueForKey:@"NORMALOGIN"]);
Return YES;
}
你有String值。
答案 1 :(得分:0)
实际上NSUserDefault会将数据保存在.plist中,因此当您删除app时,所有数据也会被删除。
答案 2 :(得分:-2)
删除应用会删除NSUserDefaults
生成的plist文件。您需要检查应用程序中是否存在文件,然后加载UserDefaults
,如果没有,请创建包含该信息的plist。因此,当用户打开应用程序等时,您将获得标准设置。