【发布时间】:2013-09-10 22:49:51
【问题描述】:
在我的主应用程序 (MyApp) 中,我通过创建窗口控制器 (MyWindowController) 的新实例以编程方式创建其他窗口。当窗口控制器初始化时,它通过调用[self.window makeKeyWindow] 从一个 nib 文件加载一个窗口和其他视图/对象。在这些对象之一 (MyModel) 上的 awakeFromNib 方法中,有一些代码可能会失败(由于名称解析),我想向用户显示错误,并销毁窗口控制器,窗口,以及所有相关对象。
总结:
- 应用程序创建
MyWindowController的新实例。 -
MyWindowController通过调用[self.window makeKeyWindow]从 nib 文件加载窗口和其他视图/对象。 - 在
awakeFromNib期间,其中一个对象(MyModel的实例)遇到故障(由于名称解析)。 - 向用户显示一条错误消息,并销毁
MyWindowController、MyModel和所有其他相关实例的实例。
我将如何以最可可的方式完成第 4 步?
澄清一下:我知道如何使用NSError 向用户显示错误。我正在尝试找出在awakeFromNib 中处理错误的推荐/正确方法是显示错误并从awakeOnNib 中释放所有内容,或者是否有更好的方法(可能需要重组我的应用程序)。
【问题讨论】:
-
不要迂腐,但窗口控制器不会从笔尖加载任何东西,直到第一次发送
-window消息(这反过来又调用-loadWindow,这不是直接调用)。 -
哦,是的,谢谢。我立即致电 [self.window makeKeyWindow]。我会更新问题。
标签: objective-c cocoa model-view-controller