空的初始视图控制器,未调用 viewWillAppear() 和 viewDidAppear()
Posted
技术标签:
【中文标题】空的初始视图控制器,未调用 viewWillAppear() 和 viewDidAppear()【英文标题】:Empty initial view controller, viewWillAppear() and viewDidAppear() not called 【发布时间】:2016-05-08 10:39:21 【问题描述】:我为 mac os 创建了一个超级简单的秒表应用程序,几周前它运行良好。 今天,我想修改一些东西,但我意识到我的初始视图控制器完全是空的。我不明白发生了什么,我正在考虑更新 Xcode 或类似的东西?
viewDidLoad()
被调用,但 viewWillAppear()
和 viewDidAppear()
未被调用。
不过,我可能会收到一条新的错误消息:
Failed to set (contentViewController) user defined inspected property on (NSWindow): *** -[NSURL initFileURLWithPath:]: nil string parameter
在我的故事板上,NSWindowController
的窗口内容设置为我的初始视图控制器。
我再说一遍,几周前一切正常,有人知道这个问题吗?
提前致谢!
【问题讨论】:
最重要的信息是[NSURL initFileURLWithPath:]: nil string parameter
。在某处将使用nil
参数创建NSURL
不要将解决方案添加到您的问题中。一个问题应该仍然是一个问题。如果您找到了问题的解决方案,您可以自己发布答案——当然也可以接受现有的答案。
【参考方案1】:
听起来好像您可能已经重命名了一个文件而没有更新对它的引用。
【讨论】:
但是为什么会调用viewDidLoad()
而不是viewWillAppear()
或viewDidAppear()
呢?【参考方案2】:
如果您使用自定义 TabController 或 NavigationController 并在那里添加了 viewController,请确保在 TabController、NavigationController 中调用 super.ViewWillAppear(),或者即使您扩展了另一个控制器,也应该添加它。如果你不成功,你就不会调用 ViewWillAppear、ViewDidAppear。两周前我遇到了同样的问题。
【讨论】:
以上是关于空的初始视图控制器,未调用 viewWillAppear() 和 viewDidAppear()的主要内容,如果未能解决你的问题,请参考以下文章
是否在空的初始化程序列表(并明确指定类型)上调用 std::min 未定义的行为?
在 Swift 中以编程方式将视图添加到 stackview
使用情节提要时未调用 UITableViewController 覆盖初始化函数