2017-02-27 120 views
-1

我正在读取日期选择器中的数据,将其保存在本地,然后将标签设置为日期集的值,但标签为空!请帮忙!从日期选择器不显示

的代码来保存数据:

NSDate *valueToSave5 = [testday date]; 
[[NSUserDefaults standardUserDefaults] setObject:valueToSave5 forKey:@"t1TestDay"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

然后加载它:

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

最后设置标签:

_TestDayValue.text = t1TestDay; 
+0

发布一些代码插孔! –

+0

NSDate是没有NSString,检查可用的方法来从NSDate对象获取格式化的字符串来保存和检索它 –

+0

我不明白 - 我还是很新 –

回答

1

你救了一个NSDate对象到NSUserDefaults,所以你应该用相同的类型加载它。

试试这个加载的NSDate回:

NSDate *t1TestDay = [[NSUserDefaults standardUserDefaults] objectForKey: @"t1TestDay"]; 

而在标签中显示它,你要的NSDate转换为NSString的以某种方式,例如,使用NSDateFormatter:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"dd/MM/yyyy"]; // 27/02/2017 

NSString *stringFromDate = [formatter stringFromDate: t1TestDay]; 
_TestDayValue.text = stringFromDate; 

注意:代码未经测试。

-1

你会尝试

NSDate *valueToSave5 = [NSDate date]; 
[[NSUserDefaults standardUserDefaults] setObject:valueToSave5            forKey:@"t1TestDay"]; 
NSLog(@"%@",[[NSUserDefaults standardUserDefaults] valueForKey:@"t1TestDay"]); 
0

这里是更新的代码为你工作。

NSDate *valueToSave5 = [NSDate date]; 

    [[NSUserDefaults standardUserDefaults] setObject:valueToSave5 forKey:@"t1TestDay"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 

    NSDate *t1TestDay = [[NSUserDefaults standardUserDefaults] objectForKey:@"t1TestDay"]; 
    NSLog(@"%@",t1TestDay.description); 

您存储的NSDate对象 NSUserDefaults的进入。但是当你试图得到字符串。所以你需要在你储存时获得价值。