导航回来时图像不会改变

时间:2012-01-21 07:44:49

标签: ios cocoa-touch

我阅读了有关此问题的类似问题和解决方案,但它对我没有帮助。让我们说,我有3个UIViewControlers应用程序。

  1. 在视图#2处,我放置了一张图片(.png)红色/绿色(开/关)。从db中检索的int,如果1 =绿色,则为红色。它对我来说很好。

  2. 在#3视图中,我使用UISwitcher将int切换为值1或0.它也很好。

  3. 问题所在。当我推回#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中调用数据库方法。

    唉,它没有帮助。

    感谢您阅读本文并帮助我。

1 个答案:

答案 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