2013-04-21 1 views
0

У меня есть класс контроллера данных, используемый в моем приложении, который обрабатывает разбор XML и несколько других операций, жизненно важных для моего приложения. То, что я хочу иметь, - это иметь данные, которые он анализирует в массиве, доступ к которым можно получить во многих представлениях моего приложения. В настоящее время каждое представление создает свой собственный экземпляр класса контроллера данных, поэтому массив, в котором хранятся данные, специфичен для этого контроллера представления. Есть ли способ создать отдельные экземпляры класса контроллера данных для каждого контроллера представления, но данные хранятся в массиве, где все представления могут получить к нему доступ? Я пытался хранить в NSUserDefaults, но это не кажется наиболее эффективным способом. Каждый контроллер представления должен иметь свой собственный экземпляр класса контроллера данных, потому что я использую методы делегата, которые используются в каждом из контроллеров представления. Я надеюсь в этом есть смысл.Доступ к NSArray из нескольких представлений

ответ

0

У вас есть два пути реализации этого (хорошо, может быть, больше, чем два, но те являются наиболее распространенными):

  • Магазин массив в приложениях делегата и Acces его в собственности.
  • Создайте объект singleton, который собирает массив (и другие возможные данные/методы).
+0

Какой из них вы предпочитаете из двух? –

+0

Если у вас небольшое приложение и только один массив, то делегат приложения вполне нормально. Но если вы планируете иметь более общие данные, то использование делегата приложения для этой цели может стать настоящим беспорядком. Поэтому я предпочитаю использовать одноэлементный объект, потому что это хорошая практика программирования и более правильный способ сделать это. –

+0

Удивительная благодарность. Могу ли я использовать методы делегата в одном элементе? Мои мысли были бы не такими, потому что у вас был только один пример, так как бы он знал, кто его инициализировал? –