【问题标题】:reloadData in AppDelegate SwiftAppDelegate Swift 中的 reloadData
【发布时间】:2015-06-26 17:02:22
【问题描述】:

我的 AppDelegate 中有一个类似于 DidReceiveRemoteNotification 的函数,并且在收到消息后将消息附加到数组中,然后尝试重新加载 tableview。

我的应用只包含一个 Viewcontroller 和一个 AppDelegate。

我的代码如下所示:

    var myCustomViewController: ViewController = ViewController(nibName: nil, bundle: nil)

    println("******didReceiveMessage*****")
    myCustomViewController.messages.append(message.data.message as! String)
    println(myCustomViewController.messages)
    myCustomViewController.MessageTableView.reloadData()

每当我尝试调用重新加载函数时,我的应用程序都会崩溃。有没有办法从我的 appDelegate 函数重新加载我的 tableView?

【问题讨论】:

  • 崩溃消息说什么?
  • 致命错误:在展开可选值时意外发现 nil
  • myCustomViewController.MessageTableView.reloadData()
  • 检查 .MessageTableView 是否不为零
  • 是的,它显然是零。但它不应该是?

标签: ios swift uitableview uiviewcontroller appdelegate


【解决方案1】:

您的视图尚未加载,因此表格视图尚不存在,因此为 nil。

不清楚您是否使用了正确的视图控制器,因为您正在创建一个新视图控制器。要么在其上调用view 以创建视图(和子视图),要么更改对真实现有视图控制器的引用。

您很可能应该访问应用程序委托window 的根视图控制器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多