2009-07-16 3 views
2

Предположим, у вас есть оконный ниб, принадлежащий NSWindowController, который загружает наконечник.Круговая зависимость NSWindowController, вызванная привязками?

NSWindowController имеет привязку IBOutlet (через Interface Builder) к элементу управления пользовательского интерфейса в окне.

Верно ли, что вы не можете распоряжаться оконным контроллером, освободив его, потому что привязка вызывает нерушимую круговую зависимость между оконным контроллером и элементом управления?

Вы знаете какую-либо распространенную ситуацию, которая может привести к подобным круговым зависимостям?

ответ

2

В таких ситуациях, как написание сфокусированного образца приложения и наблюдение за выполнением в отладчике - отличный способ понять, как все работает.

Простое связывание через Владелец файла не должно вызывать циклы удержания (10.4 и более поздние). NSWindowController (и NSViewController) предпринимает шаги, чтобы избежать этой проблемы.

Если вы столкнулись с ситуацией, когда ваши привязки вызывают циклы сохранения, есть стратегии, чтобы избежать их. (Более подробная информация для вашей конкретной установки, вероятно, необходима для получения конкретных рекомендаций.)