2014-12-25 2 views
0

Я пытаюсь вручную нажать контроллер представления в моем приложении iOS 8. Я разработал его в Main.storyboard, и я уже привязал к нему конкретный идентификатор. код я использую это:Вручную контроллер просмотра freezes app

CustomViewController *vc = 
    [self.storyboard instantiateViewControllerWithIdentifier:@"CustomViewController"]; 
    vc.customField1 = self.customField1; 
    vc.customField2 = self.customField2; 
    [self.navigationController pushViewController:vc animated:YES]; 

но вызывает заморозить приложения. Он не выплевывает никаких журналов или чего-то еще, поэтому я не могу понять, что может быть неправильным.

Можете ли вы мне немного помочь?

Спасибо заранее

+1

Есть ли какой-либо код в 'viewDidLoad' или 'awakeFromNib' (или другие методы) в новом контроллере представления, который может вызвать бесконечный цикл? –

+0

Что здесь означает «замораживание»? Что на самом деле происходит (или нет)? – matt

+0

@matt «freeze» здесь означает, что приложение не выполняет новый код контроллера представления, ни создает его, ни демонстрирует, он просто стек. –

ответ

2

Не делают эти две линии:

vc.customField1 = self.customField1; 
    vc.customField2 = self.customField2; 

Проблема здесь состоит в том, что вы присваиваете одно текстовое поле, чтобы быть другого текстового поля (на самом деле, вы делая ссылку на текстовое поле , ссылайтесь на на совершенно другое текстовое поле). Вместо этого скопируйте содержимое (например, текст) полей из вашего контроллера представления родительского для полей, которые уже живут в новом CustomViewController:

vc.customField1.text = self.customField1.text; 
    vc.customField2.text = self.customField2.text; 

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

+0

«Приложение запутывается»? В самом деле? Это что сказать? :) – matt

+0

да, да ... Я уберу это. Я не был суперспецифичным, потому что O.P. не сказал точно, что эти торговые точки (или поля) на самом деле были. –

+0

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

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