Вы можете иметь один контроллер просмотра содержит ссылку на другой контроллер представления и запрашивает у общественности NSMutableArray
на нем данные. Аарон предложил это, и это может быть вашим лучшим решением.
Или у вас есть несколько контроллеров просмотра, пытающихся получить доступ к одному и тому же набору данных. Потенциально у вас есть другие классы, которые также захотят получить доступ к этим данным. Возможно, вам захочется рассмотреть возможность вытащить данные из контроллера просмотра и рассказать об этом в нейтральном месте. Вы можете сохранить его в AppDelegate
, а затем обратиться к делегатам приложения из любого места, в котором вы нуждаетесь.
id<UIApplicationDelegate> appDelegate = [UIApplication sharedApplication].delegate;
NSMutableArray *myData = appDelegate.data;
Вы также могли бы рассмотреть возможность вытягивать всю логику ваших данных и сами данные в отдельный класс и use a Singleton Это позволит вам получить доступ/манипулировать данные довольно легко из любой точки мира.
Последние 2 метода будут изолировать данные от объектов контроллера пользовательского интерфейса и предотвратить необходимость в потенциально несвязанных объектах, требующих хранения ссылок друг на друга. При правильном использовании это уменьшит сложность кода и облегчит управление будущими изменениями мага.
Здесь есть много существующих вопросов о передаче данных с одного контроллера вида на другой. Прошу немного разобраться. См. Http://stackoverflow.com/search?q=ios+pass+data+uiviewcontroller – rmaddy