2017-02-27 114 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的進入。但是當你試圖得到字符串。所以你需要在你儲存時獲得價值。