2015-04-15 1 views
0

Мне нужно отобразить пользовательские данные в представлении контейнера, когда мое приложение начнет работать.Как передать данные контроллеру детского представления перед вызовом viewDidLoad родительского контроллера?

Я регулярно читаю данные с помощью Core Data внутри метода контроллера родительского представления viewDidLoad. И я попытался отправить данные в контроллер детского представления с помощью метода prepareForSegue через встроенный сегмент. Но, как я выяснил, prepareForSegue вызывается перед методом viewDidLoad. Это означает, что prepareForSegue не имеет действительных данных для отправки контроллеру детского просмотра.

Что я могу сделать с этим?

+0

Немного больше информации поможет. Например ... Где и когда вы создаете экземпляр стека Core Data? Вы рассматривали метод жизненного цикла TVC 'loadView'? Какие объекты вы извлекаете для каждого ТВК и используете ли вы 'NSFetchedResultsController' для этого? – andrewbuilder

+0

Я создаю основные данные в 'didFinishLaunchingWithOptions'' AppDelegate'. Я понятия не имею о 'loadView'. Мне нужно читать данные пользователя и отображать его практически во всех представлениях. Поэтому я решил отобразить его в виде контейнера. Я не использую 'NSFetchedResultsController'. –

ответ

0

Загрузить данные затем найти контроллер ребенка в parrentController.childViewControllers и отправить эти данные. Пример:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    [self loadData]; 
    MyChildViewController childViewController = [self.childViewControllers firstObject]; 
    [childViewController setData:self.dataForChild]; 
    [childViewController updateInterface]; 
} 

LoadData, dataForChild, УстановитьДанные, updateInterface ваши пользовательские методы/свойства.

+0

Как это было быстро? – phantom

0

Вы можете попытаться создать метод в своем классе (метод загружает дату из базы данных) и вызывает этот метод внутри метода prepareForSegue. пример:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    (you method) 
    .... 

} 

 Смежные вопросы

  • Нет связанных вопросов^_^