2009-09-03 6 views
0

Я создаю простое приложение на основе документов в какао, и у меня возникают проблемы с связыванием общих данных между экземплярами моего документа.cocoa Приложения на основе документов

Я хотел бы иметь какой-то AppController и иметь все мои документы для доступа к тому же экземпляру этого класса.

При экспонировании объекта в документе document.xib создадут разные экземпляры для каждого документа. И Instancing объекта в MainMenu делает объект недоступным.

Как я могу это достичь?

ответ

1

Типичным подходом является создание экземпляра singleton объекта AppController. Вы также можете создать экземпляр AppController и удерживать его в своем AppDelegate. Затем вы можете позже получить доступ к нему со всех сторон в вашем коде, вызвав

[[NSApp delegate] myAppController]

или на iPhone:

[[UIApplication sharedApplication].delegate myAppController]

Дальнейшее чтение на блестящей cocoawithlove блоге http://cocoawithlove.com/2008/11/singletons-appdelegates-and-top-level.html

0

Предполагая, что у вас есть веская причина для отдельных документов для обмена данными (в отличие от, скажем, в окне настроек или что-то еще), вы должны, вероятно, сделать SharedDataController («AppController» очень широк) синглтон. У меня есть сообщение в блоге о the correct way to make one.