2

假设您有一个窗口 nib,它由加载 nib 的 NSWindowController 拥有。

NSWindowController 有一个 IBOutlet 绑定(通过 Interface Builder)到窗口上的 UI 控件。

由于绑定导致窗口控制器和控件之间存在牢不可破的循环依赖关系,因此您不能通过释放它来处置窗口控制器,这是真的吗?

你知道任何可能导致类似循环依赖的常见情况吗?

4

1 回答 1

2

在这种情况下,编写一个专注的示例应用程序,并在调试器中观察执行情况是了解事情如何工作的好方法。

简单地通过文件所有者绑定不应导致保留周期(在 10.4 及更高版本上)。NSWindowController(和 NSViewController)采取措施避免这个问题。

如果您确实遇到了绑定导致保留周期的情况,那么有一些策略可以避免它们。(您的特定设置的更多详细信息可能需要超过特定建议。)

于 2009-07-16T03:08:52.200 回答