ОК, вот моя ситуация, и я действительно не уверен, какой подход к дизайну использовать. Итак, я был бы рад, чтобы прочитать некоторые материалы на моем конкретном случае ...Глобальный доступ к экземпляру класса - Оптимальный подход к дизайну?
Сценарий:
- У меня есть вкладка-приложение
- Сначала мы создаем экземпляр из
NSWindowController
(например,MyDocumentManager
), который заботится о создании вкладки/манипуляции - Каждая вкладка содержит (= присоединен к) экземпляру
MyDocument
Теперь я собираюсь реализовать действия меню.
- Для каждого меню имеется отдельный контроллер меню (фактически подкласс
NSObject
, объединяющий все соответствующие функции), например. ДействияMyFileMenuController
- меню файла в связаны с действиями в
MyFileMenuController
объекта, с помощью Interface Builder
Вопрос:
- Как это возможно, что
MyFileMenuController
"знает" оMyDocumentManager
(создано в моемAppDelegate.m
), чтобы мы могли получить доступ к текущим данным документа и выполнить все соответствующие действия? Есть идеи? Какой подход предпочтительнее?
Мои идеи:
- Попутных объект из класса в класс (не представляясь, что большое)
- Одиночки (хотя я никогда честно не использовал их, и не знают, независимо от того, может ли это быть моим конкретным случаем)
- Уведомления & Уведомление о прослушивании
- (Глядя на нее с противоположной стороны, хотя и не уверен) методы делегата
Спасибо за ваши предложения. Хотя я определенно не могу определить связь между вашим ответом и моим вопросом ...: S (кстати, я не говорю о Cocoa Touch - вопрос был о Cocoa/OSX). –
Прошу прощения, я думал об общей схеме в iOS. – RubenVot