[英]NSUserDefault - Not Able to fetch value
In didSelectRowAtIndexPath
Method of tableView , I am saving some data in NSUserDefault
like this 在tableView的didSelectRowAtIndexPath
方法中,我像这样在NSUserDefault
保存了一些数据
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
NSUserDefaults *storeData=[NSUserDefaults standardUserDefaults];
[storeData setObject:selectedCell.textLabel.text forKey:@"tpName"];
and at another place I am fetching this data with this code , 在另一个地方,我正在使用此代码获取此数据,
NSUserDefaults *storeData=[NSUserDefaults standardUserDefaults];
NSLog(@"tpName is %@",[storeData valueForKey:@"tpName"]);
But In this NSLog
I am getting null
value . 但是在这个NSLog
我得到了null
值。 Can Anyone suggest me where am I doing wrong ? 有人可以建议我我在哪里做错了吗?
The NSUserDefaults
doesn't get written out to disk until it gets synchronized. 在同步之前,不会将NSUserDefaults
写入磁盘。 The user defaults get synchronized automatically at periodic intervals, or you can call it manually like so: 用户默认值会定期自动同步,或者您可以手动调用它,如下所示:
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
NSUserDefaults *storeData=[NSUserDefaults standardUserDefaults];
[storeData setObject:selectedCell.textLabel.text forKey:@"tpName"];
[storeData synchronize];
If you are quitting your application shortly after the user defaults get set (without synchronizing manually), your standardDefaults
will not be updated on disk. 如果您在设置用户默认值后不久退出了应用程序(没有手动同步),那么您的standardDefaults
将不会在磁盘上更新。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.