【发布时间】:2023-03-30 04:34:01
【问题描述】:
假设我有两个视图控制器 A 和 B。从 A 到 B,我将视图控制器 B 添加到 A 的顶部。弹出时,我在 B 中调用以下方法
-(void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
NSUserDefaults *userSettings = [NSUserDefaults standardUserDefaults];
[userSettings setObject:firstName.text forKey:@"FN"];
[userSettings setObject:lastName.text forKey:@"LN"];
[userSettings synchronize];
}
此 userInfoUpdate 方法更新应用程序的 NSUserDefaults 对象。 返回视图控制器 A 时,我在 A 中调用以下方法:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
NSUserDefaults *userSettings = [NSUserDefaults standardUserDefaults];
profileTextField.text = [NSString stringWithFormat:@"%@ %@",[userSettings objectForKey:@"FN"],[userSettings objectForKey:@"LN"]];
}
但这不会更新文本文件字符串。知道我在这里做错了什么吗?有更好的选择吗?
【问题讨论】:
-
您应该显示您的实际代码。
-
为什么不从 A 的 viewWillAppear 读取 NSUserDefaults 的数据?
-
@hackerinheels 我正在从 A 的 viewwillAppear 中读取 NSUserDefaults。我已经进行了编辑。看起来 A 的 viewwillAppear 在 B 的 ViewWillDisappear 之前被调用
-
你为什么不打电话给[super viewWill....]?
-
当我使用断点进行测试时,A 的 viewwillAppear 在 B 的 ViewWillDisappear 之前被调用
标签: ios objective-c viewwillappear viewdidappear