我在VC1中实现了UITableView
以显示用户的firstName和LastName,以及UITableView
顶部的编辑按钮。当用户按下按钮时,它通过导航控制器导航到VC2。
在VC2中,用户可以更新firstName
和LastName
字段。我正在使用NSUserDefaults
作为
NSUserDefaults*first=[NSUserDefaults standardUserDefaults];
[first setValue:textField1.text forKey:@"firstname"];
当我回到VC1并尝试显示更新后的数据时,它不能正常工作为什么会这样......?
NSUserDefaults*first=[NSUserDefaults standardUserDefaults];
cell.detailTextLabel.text=[first valueForKey:@"firstname"];
如何使用NSUserDefaults
来完成。?
答案 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"];