NSUserDefaults数据无法正常工作

时间:2016-06-30 05:21:09

标签: ios uitableview nsuserdefaults

我在VC1中实现了UITableView以显示用户的firstName和LastName,以及UITableView顶部的编辑按钮。当用户按下按钮时,它通过导航控制器导航到VC2。

在VC2中,用户可以更新firstNameLastName字段。我正在使用NSUserDefaults作为

保存详细信息
NSUserDefaults*first=[NSUserDefaults standardUserDefaults];
[first setValue:textField1.text forKey:@"firstname"];

当我回到VC1并尝试显示更新后的数据时,它不能正常工作为什么会这样......?

NSUserDefaults*first=[NSUserDefaults standardUserDefaults];
cell.detailTextLabel.text=[first valueForKey:@"firstname"];

如何使用NSUserDefaults来完成。?

4 个答案:

答案 0 :(得分:1)

NSUserDefault工作正常,您只需要在viewWillApear事件上重新加载表格。

//In VC1

-(void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    [_yourTableView reloadData];
}

答案 1 :(得分:0)

我猜你应该使用set Object :forKey

NSUserDefaults*first=[NSUserDefaults standardUserDefaults];
[first setObject:textField1.text forKey:@"firstname"];

答案 2 :(得分:0)

在输入new" firstName"之后尝试输入断点。 &安培;&安培; " lastName的&#34 ;. 并在控制台打印

po [first objectForKey:@"firstName"]

如果它是你的价值,那么你应该在第一个VC中更深入地更新/刷新数据。像[MyTable reloadData]或其他一样。

答案 3 :(得分:-1)

尝试以下代码行

NSUserDefaults *first=[NSUserDefaults standardUserDefaults];
[first setValue:textField1.text forKey:@"firstname"];
[first synchronize]; // have to write this line of code.


NSUserDefaults *first=[NSUserDefaults standardUserDefaults];

cell.detailTextLabel.text=[first valueForKey:@"firstname"];