【问题标题】:iphone refresh viewcontroller not working when app enters foreground当应用程序进入前台时,iphone刷新视图控制器不起作用
【发布时间】:2011-04-13 08:46:37
【问题描述】:

我有一个包含 3 个选项卡收件箱、联系人和设置的应用程序。

在收件箱中,有来自其他用户的消息列表,我使用函数reloadTableViewDataSource 更新消息,现在我必须在应用程序进入前台时重新加载或刷新消息。

为了实现这一点,我在 appdelegate 中给出了以下代码。

- (void)applicationWillEnterForeground:(UIApplication *)application {
    application.applicationIconBadgeNumber=0;
    Inbox *inbox=[[Inbox alloc]init];
    inbox.userid=self.usermail; 
    inbox.password=self.password;
    inbox.loggedInUserId=self.loggedinUserId;
    [inbox reloadTableViewDataSource];

}

似乎调用了更新的方法,因为我看到了关于更新的nslog 消息,但收件箱视图控制器中实际上没有发生任何事情,新消息没有刷新,正确的方法是什么?

【问题讨论】:

  • reloadTableViewDataSource 的代码是什么样的?
  • 不相关,但不要忘记释放您的 Inbox 实例。
  • 太长了,无法粘贴到这里。它包含一个获取最新消息的 Web 服务并重新加载 tableview。我怀疑我是否创建了一个新的收件箱视图控制器实例并从它,那么原始viewcontroller实例中的消息会被刷新吗??

标签: iphone viewcontroller background-foreground


【解决方案1】:

在我看来,您创建了一个新的收件箱对象并刷新了它的内容。 但您真正想要的是刷新当前显示的收件箱对象的数据。

因此,您需要做的是持有对在您的 ViewController 中使用的收件箱对象的引用。并在该引用上调用 reloadTableViewDataSource。

希望这就是问题所在......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-31
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    相关资源
    最近更新 更多