簡體   English   中英

NSUserDefault-無法獲取值

[英]NSUserDefault - Not Able to fetch value

在tableView的didSelectRowAtIndexPath方法中,我像這樣在NSUserDefault保存了一些數據

UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
NSUserDefaults *storeData=[NSUserDefaults standardUserDefaults];
[storeData setObject:selectedCell.textLabel.text forKey:@"tpName"];

在另一個地方,我正在使用此代碼獲取此數據,

NSUserDefaults *storeData=[NSUserDefaults standardUserDefaults];
NSLog(@"tpName is %@",[storeData valueForKey:@"tpName"]);

但是在這個NSLog我得到了null值。 有人可以建議我我在哪里做錯了嗎?

在同步之前,不會將NSUserDefaults寫入磁盤。 用戶默認值會定期自動同步,或者您可以手動調用它,如下所示:

UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
NSUserDefaults *storeData=[NSUserDefaults standardUserDefaults];
[storeData setObject:selectedCell.textLabel.text forKey:@"tpName"];
[storeData synchronize];

如果您在設置用戶默認值后不久退出了應用程序(沒有手動同步),那么您的standardDefaults將不會在磁盤上更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM