Круговая зависимость NSWindowController, вызванная привязками? - PullRequest
2 голосов
/ 16 июля 2009

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

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

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

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

1 Ответ

2 голосов
/ 16 июля 2009

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

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

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

...