2013-11-11 2 views
1

Я создал документ приложения на основе, но у меня возникла проблема с обработкой IBOutlet, потому что когда я выбрал какой-то контроллер внутри документа в первом окне, иногда был выбран другой же контроллер в другом документе окна. Возможно, я ошибся с сильным/слабым/readwrite или чем-то, что я не очень уверен, поэтому решил заставить мое приложение иметь только один оконный документ на время. Теперь моя проблема. У меня есть arrayController, и когда я запускаю свое приложение, и я открываю сохраненный файл, он закрывает «пустой документ», созданный по умолчанию, и показывает новый документ окна с загруженными данными. Проблема в том, что arrayController второго окна, вызываемого внутри windowControllerDidLoadNib, является правильным указателем (созданным makeWindowControllers), но когда я использую его внутри кода, у него есть другой указатель, который является старым контроллером массива пустого документа, который был закрыт! ! Зачем? Запустить метод закрытия? (Я использую ARC). Извините, если мои слова смущены, я новичок. Спасибо. Это мой код:IBOutlet внутри документа на основе приложения

Document* newDoc = [[Document alloc] init]; 
[[NSDocumentController sharedDocumentController]addDocument:newDoc]; 
[newDoc makeWindowControllers]; 
[newDoc showWindows]; 

ответ

0

Я решил эту проблему: при определении уведомления для какого-либо объекта как NSDocument они не будут освобождены после того, как волосок. Поэтому вам нужно удалить наблюдателя!

Смежные вопросы