2014-11-28 6 views
0

В одном из моих ViewController х, когда я получаю viewWillAppear, все мои IBOutlets являюсь nil, я пытался смотреть на @ matt`s решения, но это работает для наконечников не раскадровка.IBoutlets NIL в стриже при использовании раскадровки

Это только проблема при запуске приложения на устройствах, которые находятся на iOS 7. Это не происходит на других устройствах.

Кто-нибудь знает, почему все мои IBOutlet s в этом viewController равна нулю (обратите внимание, что другие viewController s работает отлично.)

Edit: пытался создать в раскадровке новую ViewController, с некоторыми лейблами, и новый файл TestViewController.swift и их соединение, все еще получая нулевые значения, пожалуйста, поймите, что остальная часть проекта работает нормально.

+0

«Пробовал создать новый ViewController» Есть ли вероятность, что вы могли бы сделать копию своего проекта, удалить все, кроме нового ViewController, и опубликовать проект в github? Может быть, тогда можно было бы увидеть, что может пойти не так ...! – matt

+0

@matt благодарит за попытку помочь! Я создал это: 'https: // github.com/iamBlueGene/Swift_Storyboard_Bug/tree/ChoozeWithoutLandscapeNavigaitonController', попытался удалить все, что не имеет значения, пожалуйста, простите меня, если я оставил некоторые вещи :) –

+0

Вы не зарегистрировались/толкал любые файлы, чтобы ваш проект не был там. Все, что я вижу, это ваш ReadMe. Это очень приятно, но мне нужен проект. :) – matt

ответ

2

Тот факт, что у вас проблемы только с iOS 7, явно является основным ключом. Я посмотрел на тестовом проекте вы в курсе, и мое предложение заключается в том, что проблема, вероятно, два раза:

  • Вы использовали классы размеров в раскадровке. Но в iOS 7 нет классов размеров, поэтому они не совместимы с обратными.

  • Некоторые из ваших взглядов, возможно, виды, с которыми вы столкнулись, установлены только для одного класса размеров - компактная высота. Таким образом, на устройстве/ориентации с регулярной высотой эти виды будут отсутствовать, а выходы к ним будут равны нулю. Это то, что я называю условных просмотров.

Я думаю, что причина, вы с этой проблемой только для этого один вид контроллера является то, что это, возможно, единственный контроллер представления в раскадровку которого вид содержит все условные представления. Условные представления, такие как классы размера, от которых они зависят, не совместимы с iOS 7 в обратном порядке; так что, возможно, все это просто сдается при загрузке nib-загрузки, и поэтому вы вообще не получаете никаких просмотров.

+0

Это также не помогает, что ваши ограничения в этой сцене недействительны - обратите внимание на красный сигнал ошибки в раскадровке. Однако я не думаю, что это источник проблемы. – matt

+0

Спасибо за внимание! однако большинство контроллеров представления в моем проекте предназначены только для одного класса размера, я рассмотрю ваши предложения и обновления. –

+0

@BlueGene Я сознательно не смотрел на ваш реальный проект - только в проекте с уменьшенным образцом, который вы разместили для меня.В основе моего аргумента, однако, лежит то, что вы не можете использовать классы размера вообще в приложении, предназначенном для запуска на iOS 7, так как их там нет. Таким образом, каковы бы ни были детали, это огромная ошибка в вашем подходе в целом. – matt

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