【发布时间】:2015-06-25 22:49:59
【问题描述】:
我的应用程序委托中有一个函数,它将一个项目附加到我名为 ViewController.swift 的文件中的一个数组中,然后我想在同一个文件中重新加载一个表视图。我尝试这样做:
let vc = ViewController()
let navigationController = UINavigationController(rootViewController: vc)
window!.rootViewController = navigationController
println(vc.messages)
//1 vc.messages.append(message.data.message as! String)
//2 vc.MessageTableView?.reloadData()
编号为 1,2 的行是我设置断点的地方。它似乎在第 2 行之后中断。
我得到的确切错误是
致命错误:在展开可选值时意外发现 nil
我认为我的问题是我错误地设置了根视图控制器。
编辑#1
窗口被声明在顶部。
如果我这样运行我的代码:
let vc = ViewController()
messages.append(message.data.message as! String)
vc.MessageTableView?.reloadData()
println(messages)
然后我可以看到正确的数据被放入了数组中(我为这个场景设置了全局)但是表没有在视图控制器中更新。
【问题讨论】:
-
window在哪里声明?初始化了吗? -
假设您有一个 UIWindow 的实例,那么唯一可能的原因是错误指示的 message、message.data 或 message.ata, message 的值为 nil。跨度>
标签: ios swift uitableview uiviewcontroller appdelegate