我开始随机获取此错误(可能是由于更新swift)但是当我到达,在detailItem中的didSet时,我调用configureView。在configureView中,我检查是否确实设置了detailItem,然后开始为我的出口分配值。
if let detail: Posting = self.detailItem {
print("detail title is ")
println(detail.title)
// Title
self.titleLabel.text = detail.title
然而,这会导致输出崩溃:
detail title is Skiing in Vail
fatal error: unexpectedly found nil while unwrapping an Optional value
错误在线:
self.titleLabel.text = detail.title
我不明白为什么它会在明显设置时崩溃...
请注意,如果我从viewDidLoad中调用configureView
,则不会发生这种情况。
只有当我从
调用它时才会发生这种情况 var detailItem: Posting? {
didSet { self.configureView() }
}
我遗失的东西?这是异步工作还是其他什么?
答案 0 :(得分:0)
参考你对如何实现这一点的评论,有一些思路。首先,您可以直接从MasterVC修改它的原因是因为IBOutlet尚未在DetailVC中实例化,因此无法进行修改。
我可能会遵循的一个选项是在详细信息视图中有一个辅助变量,您可以在其中放置值。然后viewWillAppear()
你可以取变量中的任何内容并将其设置为标签的文本。这是一个关于它的教程,但要回答您的具体问题,请跳到本教程中的prepareForSegue
方法。它给出了整个过程的一个很好的概述:
http://www.codingexplorer.com/segue-swift-view-controllers/
如果这不能解决您的问题,请告诉我。