Загрузка данных в представление Cocoa перед загрузкой приложения

Я хочу загрузить некоторые данные из mysql в представление приложения какао перед запуском приложения.

Я уверен, что это должно происходить в контроллере, чтобы он мог отправить нужные данные в представление.

Я ищу метод или общую технику, которая используется для такого рода вещей.

Огромное спасибо


person Daniel Mitchell    schedule 29.12.2008    source источник


Ответы (3)


Cocoa дает вам много мест для выполнения задач до и после загрузки объектов из пера, но важно внимательно прочитать документацию, чтобы убедиться, что все происходит в том порядке, в котором вы ожидаете. Обычно я использую следующую стратегию, когда работаю над приложением Cocoa:

  • Там, где это уместно, я реализую метод +(void)initialize, который вызывается перед созданием каких-либо экземпляров класса. Например, я, вероятно, установлю здесь настройки приложения по умолчанию.
  • В моем контроллере приложения (делегате приложения) я реализую метод applicationDidFinishLaunching: delegate для загрузки моего файла данных. Если это работает нормально, я затем создаю оконный контроллер (ы) и отображаю все окна, которые я хочу показать при запуске.
  • В контроллерах окна/представления я переопределяю windowDidLoad: или loadView для выполнения задач, связанных с объектами, загруженными из пера. Если мне нужно создать какие-либо переменные экземпляра, не связанные с пером, я также переопределяю метод init и делаю это там.
  • Если мне нужно что-то сделать в моих объектах представления после того, как они загружены из пера, я переопределю awakeFromNib.
person Marc Charbonneau    schedule 02.01.2009

Похоже, вы ищете функцию awakeFromNib.

http://www.cocoadev.com/index.pl?AwakeFromNib

person TheSmurf    schedule 29.12.2008

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

person Nathan Kinsinger    schedule 29.12.2008