我阅读了有关此问题的类似问题和解决方案,但它对我没有帮助。让我们说,我有3个UIViewControlers应用程序。
在视图#2处,我放置了一张图片(.png)红色/绿色(开/关)。从db中检索的int,如果1 =绿色,则为红色。它对我来说很好。
在#3视图中,我使用UISwitcher将int切换为值1或0.它也很好。
问题所在。当我推回#3中的#2时,图片保持不变。只有在推动观看#1并返回观看#2后,我才会改变图像。
在- (void)viewDidLoad method
中检索到的数据。
我同时尝试做的事情:
已添加方法- (void)viewWillAppear:(BOOL)animated
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[self.tableView reloadData];
}
我还尝试在- (void)viewWillAppear:(BOOL)animated
中调用数据库方法。
唉,它没有帮助。
感谢您阅读本文并帮助我。
答案 0 :(得分:0)
将视图2注册以获取通知以更改int值...并在视图3 ..当您使用[NSNotification defaultcenter]更改int..post通知时
1)在View 2的viewDidLoad中
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(intChanged) name:@"Int Changed" object:nil];
2)在Dealloc of view 2中
[[NSNotificationCenter defaultCenter] removeObserver:self];
3)在视图3 ..当你改变int后放这行
[[NSNotificationCenter defaultCenter] postNotificationName:@"Int Changed" object:nil userInfo:nil];
最后,在视图3中更改int值时,将调用.intChanged方法(在视图2中)确保在视图2中定义方法intChanged