Я новичок в программировании IOS. В моем приложении у меня есть контейнер, который подключен к контроллеру просмотра страницы с тремя страницами. Это работает хорошо. Когда я нажимаю кнопку в главном контроллере представления, я хочу изменить метки кнопок в представлении контейнера. Итак, я должен подключить переменную в основном представлении к переменной в контроллере просмотра страницы. Я пишу, как ниже, но падает, когда я нажал на кнопку (SIGABRT сигнал) ..Изменение ярлыка кнопки в виде контейнера нажатием кнопки на главном экране
@IBAction func pressShift(sender: AnyObject) {
if (self.shift != 3) {
self.shift++
}
else {
self.shift = 1
}
performSegueWithIdentifier("container", sender: sender)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var scene = segue.destinationViewController as! FeaturesViewController
scene.shiftNumber = self.shift
}
Я сделал простой пример проекта. Вид контейнера в главном окне. В представлении контейнера есть метка (не контроллер просмотра страницы) и кнопка в главном окне. Я написал тот же код, но опять же происходит такая же ошибка. Вот образ моей раскадровки ...
Пример проекта: http://www.filedropper.com/exampletosegue
Несколько вещей, вы должны проверить segueIdentifier в prepareForSeque if (segue.identifier == "container") {...}, и я думаю, что вы должны написать «как?». вместо «как!» (Я не уверен, что это то, что вызывает крах. Я также новичок в быстром) – TheSD
segueIdentifier верен. Когда я отлаживаю, метод prepareForSegue вызывается, когда я нажимаю кнопку. После реализации метода он выходит из строя. Также проверили «как?». Не работает .. – D3sT
, может быть, проверить, если self.shift! = Nil – TheSD