NSUserDefaults 数据不工作

NSUserDefaults data not Working

我在 VC1 中实现了一个 UITableView 来显示用户的名字和姓氏,以及 UITableView 顶部的编辑按钮。当用户按下按钮时,它会通过导航控制器导航到 VC2。

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

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

当我返回 VC1 并尝试显示更新后的数据时,它不起作用为什么会这样...?

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

如何使用 NSUserDefaults.?

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

//In VC1

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

尝试下面的代码行

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"];

我想你应该使用 setObject:forKey

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

尝试下断点,进入new "firstName" && "lastName"后。 在控制台打印

po [first objectForKey:@"firstName"]

如果这是你的价值,那么你应该首先 VC 深入挖掘 updating/refreshing 数据。像 [MyTable reloadData] 或一些。