2016-01-11 42 views
-3

保存数据NSUserDefault被清除一旦申请杀死

NSString *balSnapTokenFromResponce; 
    balSnapTokenFromResponce = @"456294797493749873"; 

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults setObject:balSnapTokenFromResponce forKey:@"Token"]; 
    [defaults synchronize]; 

来检索数据,

[[NSUserDefaults standardUserDefaults] stringForKey:@"Token"] 
+3

什么是[[[NSString alloc] init]? – Cristik

+0

奇怪......我只是测试了这段代码,它适用于我。 (额外的[[[NSString alloc] init]'是不必要的,尽管...字符串前面的“@”会为你分配alloc)。我唯一可以做的就是将默认设置放在代码永远不会被调用的位置。 –

+0

在应用程序进入后台状态时,并在杀死应用程序后清除该值。 – Balu

回答

2

此,如图所示,是没有意义的:

[[NSUserDefaults standardUserDefaults] stringForKey:@"Token"] 

你必须用返回值做一些事情:

NSString *balSnapTokenFromResponce = [[NSUserDefaults standardUserDefaults] stringForKey:@"Token"]; 

也许你是,但从你的问题不清楚。因为否则你发布的代码应该可以工作,假设它被调用。