AppDelegate Swift 中的 reloadData
Posted
技术标签:
【中文标题】AppDelegate Swift 中的 reloadData【英文标题】:reloadData in AppDelegate Swift 【发布时间】: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 是否不为零 是的,它显然是零。但它不应该是? 【参考方案1】:您的视图尚未加载,因此表格视图尚不存在,因此为 nil。
不清楚您是否使用了正确的视图控制器,因为您正在创建一个新视图控制器。要么在其上调用view
以创建视图(和子视图),要么更改对真实现有视图控制器的引用。
您很可能应该访问应用程序委托window
的根视图控制器。
【讨论】:
以上是关于AppDelegate Swift 中的 reloadData的主要内容,如果未能解决你的问题,请参考以下文章
AppDelegate Swift 中的 reloadData
AppDelegate 中的 Swift UITabbar 阴影
类 AppDelegate: UIResponder, UIApplicationDelegate SWIFT 中的 SIGABIRT 错误
如何在 Swift 中的 AppDelegate 中抓取 Viewcontroller